前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++字符串 string 类中的几种常用方法

C++字符串 string 类中的几种常用方法

作者头像
英雄爱吃土豆片
发布2020-10-29 10:58:39
1.2K0
发布2020-10-29 10:58:39
举报
文章被收录于专栏:英雄爱吃土豆片

相较于C,C++中引入了string类,这使得存储字符串时不易溢出,更加安全, 而其中包含的各种操作字符串的函数,使用起来更是方便。下面是其中几种常见的函数的使用方法:

代码语言:javascript
复制
begin()      //返回字符串的首个字符的下标位置
end()        //返回字符串(末位+1)的下标位置

使用end()时若想取得位于末位的字符,需对end()进行- 1操作:end()-1,否则得到的是一个空字符 值的注意的是,因为begin()和end()的函数返回值类型类似指针(迭代器),所以需要使用 * 进行取值操作。

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
size() 
length()     //都可返回字符串的长度,用法相同。

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
find(const string& str, size_t pos = 0)        //查找某一段字符,返回该段字符首字符的下标位置

find()函数有4种原型声明,以上是其中一种。

形参表中的str是需要查找的字符段,pos是查找时的起始字符的下标位置(即决定从哪个位置开始查找)若不设置pos的值,默认从0开始查找。 eg: c.find(‘H’,2)表示从字符串 c 的第三个字符开始查找字符’H’ 执行find()函数,若找到了用户设置的str,返回其在c中的下标,否则返回-1,或者说 npos 的值。npos的是类型的最大值,在这里表示没有找到匹配的字符段。 这里我的 npos 值为18446744073709551615。

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
find_first_of(const string& str, size_t pos = 0) //查找某一段字符,返回该字符段中任意一个字符第一次出现在字符串中的位置
first_last_of(const string& str, size_t pos = 0)  //查找某一段字符,返回该字符段中任意一个字符最后一次出现的位置

find_first_of()和find_last_of()的函数原型声明和find函数基本一致,用法也基本相同。 需要注意的是若查找的不是单个字符,而是字符段,那么他会返回该字符段中任意一个字符第一次出现(或最后一次出现)的位置(即只要查找到某一个属于该字符段的字符,就输出这个字符第一次出现(或最后一次出现)的下标,不一定非得是字符段的首字符)。

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述

若需要反向查找,使用rfind()相关函数即可,只是在find()函数前添加一个 r 而已。

代码语言:javascript
复制
insert()         //在指定位置插入字符段

三种常用方法: 1)insert(2,"@@@"); //在下标为2的字符后插入字符串"@@@" 2) insert(2,3,’@’); //在下标为2的字符后插入3个字符’@’ 3)insert(2,"@@@@@",2,3); //在下标为2的字符后插入位于字符串"@@@@@"[2,3]区间的字符段

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
erase()          //删除指定位置的字符

三种常用方法: 1)erase(3,1); //删除下标为 3 的字符后的 1 个字符 2)erase(first,end); //删除以first为起点,end为终点包含的字符段 3)earse(position); //删除字符串中第position个字符

因为2)3)中的函数返回值类型也是迭代器,所以不能直接把整型数据赋给first,end,position。这里我们可以使用begin()和end()来计算需要删除的字符的位置

使用样例:

在这里插入图片描述
在这里插入图片描述

运行结果:

除了这些还有很多很多种函数和不同的用法,需要我们不断学习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档