首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++的字符串char与string互相转化,以及string的,切割,替换字符,字符串拼接方法(object向c++转型系列教程2)

2012-10-21 
c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法(object向c++转型系列教程2)

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




热点排行