目录
//引入头文件
#include <string>
//声明一个空字符串
string s
//拷贝构造函数生成str的复制品
string s(str)
//将字符串str,从stridx的位置开始构造一个字符串
string s(str, stridx)
//将字符串str,从stridx的位置开始且长度最多strlen的部分作为字符串的初值
string s(str, stridx, strlen)
//将cstr C字符串作为s的初值
string s(cstr)
//将chars数组前chars_len个字符作为字符串s的初值
string s(chars, chars_len)
//生成一个字符串,包含num个c字符
string s(num, c)
//以区间beg,end不包含end内的字符作为字符串s的初值
string s(beg, end)
//销毁所有字符,释放内存
s.~string()
使用boost库
vector<string> stages;
boost::split(stages, FLAGS_stage, boost::is_any_of(",")); //FLAGS_stage是待切分字符串
//返回当前字符串长度
s.size()
s.length()
//返回当前字符串最多能包含的字符数
s.max_size()
//数值型转换为字符串并拼接
FLAGS_gpu = "" + boost::lexical_cast<string>(solver_param.device_id())
//字符串拼接,包括各种数值类型
ostringstream s;
s << "test1 = " << 1; //拼接‘test1 =’与1
LOG(INFO) << "Using " << s.str();
s.reserve(int param)
string s;
s.data(); //返回const char * 字符数组,不添加'\0'
s.c_str(); //返回const char * 字符数组,添加'\0'
//如需要char *,且确定该函数内部不会对参数做出修改,可直接强制转换
(char *)s.c_str();