您的位置:首页 > 移动开发 > Objective-C

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

2012-10-06 01:24 861 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐