c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法(object向c++转型系列教程2)
1,char可以用一下的方法初始化
const char* char1 = "123";
const char* char2 = "456";
const char* char3 = "";
2,const char*它转化为string的方法
string s1(char1);
3,string它转化为const char*的方法
string s1 = "hellow";
const char * char1 = s1.c_str();
4,c++切割字符串
string text = "big|dog|china|sonic|free";
stringstream ss(text);
string sub_str;
while(getline(ss,sub_str,'|')) //以|为间隔分割test的内容
cout << sub_str << endl;
5,字符替换
.H文件
void string_replace(string & strBig, const string & strsrc, const string &strdst);
///////////////////////////////////////////////////////////////////////////////////
.M文件
//字符串替换
string aString("12212");
//string_replace(aString,"12","21");
string_replace(aString,"2","我");
cout << aString << endl;
void HelloWorld::string_replace(string & strBig, const string & strsrc, const string &strdst)
{
string::size_type pos=0;
string::size_type srclen=strsrc.size();
string::size_type dstlen=strdst.size();
while( (pos=strBig.find(strsrc, pos)) != string::npos)
{
strBig.replace(pos, srclen, strdst);
pos += dstlen;
}
}
6, c++字符串的拼接
string name1 = "hello";
int age = 123;
char buffer[80];
const char * name = name1.c_str();
sprintf(buffer, "%s%d", name, age);
CCLOG("%s",buffer);