c++string类型的定义及⽅法
1.c++ 有两种风格的字符串形式
c风格字符串
定义及初始化
char a[]={'h','e','l','l','o','\0'}
或者
char a[]="hello"; //C++ 编译器会在初始化数组时,⾃动把 '\0' 放在字符串的末尾
输出:cout<<a;
或者
for(int i=0;i<strlen(a);i++)
cout<<a[i]
长度:strlrn(a);
string类型
定义及初始化:
string a="hello";
输出:cout<<a;
或者
for(int i=0;i<strlen(a);i++)
cout<<a[i](或者a.at(i) )
长度:a.size();
2.string类型的字符串运算和函数
在以字符数组存放字符串时,字符串的运算要⽤字符串函数,如strcat(连接)、strcmp(⽐较)、strcpy(复制),⽽对string类对象,可以不⽤这些函数,⽽直接⽤简单的运算符。
这是因为模板库中重载了例如 + 、+= 、= 的运算符。
1).字符串复制⽤赋值号
string1=string2;
其作⽤与“strcpy(string1,string2);”相同。
2).字符串连接⽤加号
string string1=″C++″; //定义string1并赋初值
string string2=″Language″;//定义string2并赋初值
string1=string1 + string2;//连接string1和string2
连接后string1为″C++ Language″。
c++string类型3)字符串⽐较直接⽤关系运算符
可以直接⽤ ==(等于)、>(⼤于)、<(⼩于)、!=(不等于)、>=(⼤于或等于)、<=(⼩于或等于)等关系运算符来进⾏字符串的⽐较。
使⽤这些运算符⽐使⽤5.5.5节中介绍的字符串函数直观⽽⽅便
4)获取字符串的第⼀个字符获取字符串的最后⼀个字符
string::const_iterator it = str1.begin();
cout << *it << endl;
cout << endl;
it = d();//end是指向最后⼀个字符后⾯的元素,⽽且不能输出,所以cout << *it << endl;这样输出会报错
it--;
cout << *it << endl;
cout << endl;
5)倒置串
reserve(str.begin(),d());
6)查串
//find-从指定位置起向后查,直到串尾
string st1("babbabab");
cout << st1.find('a') << endl; //1 默认从位置0(即第1个字符)开始查
cout << st1.find('a', 2) << endl; //4 在st1中,从位置2(b,包括位置2)开始,查a,返回⾸次匹配的位置
string st2("aabcbcabcbabcc");
str1 = "abc";
cout << st2.find(str1, 2) << endl;//6 从st2的位置2(b)开始匹配,返回第⼀次成功匹配时匹配的串(abc)的⾸字符在st2中的位置,失败返回-1
7)截取字符串
str.substr(startpos,length); //从str的startpos位置截取length长度的字符串
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论