您的位置:首页 > 编程语言 > C语言/C++

c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法

2016-03-31 09:11 746 查看
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,判断某个字符串里面是否含有另外一个

bool ExcelParser::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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: