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

来源:互联网 发布:德乌洛费乌赛季数据 编辑:程序博客网 时间:2024/05/22 05:50

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++字符串分割函数

vector<string>ExcelParser::split(string str,string pattern)

{

    std::string::size_type pos;

   std::vector<std::string> result;

    str+=pattern;//扩展字符串以方便操作

   int size=str.size();

    

   for(int i=0; i<size; i++)

    {

        pos=str.find(pattern,i);

       if(pos<size)

        {

           std::string s=str.substr(i,pos-i);

            result.push_back(s);

            i=pos+pattern.size()-1;

        }

    }

   return result;

}



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


7,判断某个字符串里面是否含有另外一个

boolExcelParser::isContantString(string sourceStr,string patternStr)

{

   const char *show;

    

    show=strstr(sourceStr.c_str(),patternStr.c_str());//返回指向第一次出现r位置的指针,如果没找到则返回NULL

    

   bool isContant;

   if (show == NULL)

    {

       isContant =NO;

    }

   else

    {

        isContant =YES;

    }


   return isContant;

}



原创粉丝点击