读书人

c++的字符串char与string互相转化以

发布时间: 2012-10-21 09:00:07 作者: rapoo

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);




读书人网 >C++

热点推荐