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″。

3)字符串比较直接用关系运算符

可以直接用 ==(等于)、>(大于)、<(小于)、!=(不等于)、>=(大于或等于)、<=(小于或等于)等关系运算符来进行字符串的比较。

使用这些运算符比使用5.5.5节中介绍的字符串函数直观而方便

4)获取字符串的第一个字符 获取字符串的最后一个字符

string::const_iterator it = str1.begin();

cout << it << endl;

cout << endl;



it = str1.end();//end是指向最后一个字符后面的元素,而且不能输出,所以cout <<
it << endl;这样输出会报错

it--;

cout << *it << endl;

cout << endl;

5)倒置串

reserve(str.begin(),str.end());

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长度的字符串

原文链接: https://www.cnblogs.com/houchen/p/8985063.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/273247

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午11:27
下一篇 2023年2月14日 下午11:28

相关推荐