c++ string类型的定义及方法

本文详细介绍了C++中两种字符串形式:C风格字符串和string类型。涵盖了字符串的定义、初始化、输出、长度获取,以及string类型特有的字符串运算和函数,如复制、连接、比较、获取字符、倒置、查找和截取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)倒置串

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

努力成为一名改变世界的软件工程师,不要放任自己,甘心当一个代码的搬运工

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值