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;
}
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;
}
相关文章推荐
- 如何替换字符数组中的 某些字符? C/C++
- C/C++ 字符串replace替换函数
- 機器學習基石 机器学习基石 (Machine Learining Foundations) 作业2 Q16-18 C++实现
- 如何避免误删CleanMyMac语言文件
- 如何删除Mac语言文件
- 关于时间的类
- 关于时间的类
- 关于时间的类
- 关于时间的类
- 关于时间的类
- 小学生加减乘除
- 小学生加减乘除
- 小学生加减乘除
- 小学生加减乘除
- 小学生加减乘除
- 设计模式之 抽象工厂模式的扩展(C++实现)
- VC++ 绘制简单电子元件
- 2015年蓝桥杯B组C/C++:九数组分数
- c++笔记(3.30)
- 第七届蓝桥杯C\C++B组省赛题目——方格填数