【C++初阶】第9课—标准模板库STL(string_3)
2025/2/21 3:25:48
来源:https://blog.csdn.net/weixin_70620792/article/details/144456372
浏览:
次
关键词:【C++初阶】第9课—标准模板库STL(string_3)
文章目录
- 1. string类对象的查找操作
- 1.1 c_str返回c格式字符串
- 1.2 substr获取string类对象子串
- 1.3 find和rfind查找字符串内容
- 1.4 find_first_of与find_first_not_of
- 1.5 find_last_of与find_last_not_of
- 1.6 copy复制string类对象内的字符串内容
- 1.7 compare对比string类字符串
- 1.8 全局函数relational operators(string)
- 1.9 全局函数operator+
- 1.10 全局函数getline读取字符串
- 2. 练习题:计算0最后一个单词的长度
- 3. 验证字符串是否是回文串
1. string类对象的查找操作

- 这里主要掌握常用的几个接口,比如find查找字符、rfind倒着查找字符、substr截取字符串子串等,其他了解即可
1.1 c_str返回c格式字符串
- 实际中,C++的某些接口可能还用C语言的形式,由于c++兼容c语言的用法,因此,在实际工程中,c++可能和c语言混着用
- 这里对c_str返回c类字符串简单举个例子,这就要检验之前学习C语言阶段文件处理的功底了


1.2 substr获取string类对象子串


1.3 find和rfind查找字符串内容




1.4 find_first_of与find_first_not_of



- find_first_of与find_first_not_of是用来查找string类对象里面的字符串是否匹配给定的常量字符串
- 对于find_first_of,如果不指定查找的位置,他会从string类对象str首字符开始,一个一个字符查找,看是否与“aeiou”中的某个字符匹配,如果匹配则返回该字符在str中的位置
- 对于find_first_not_of,如果不指定查找的位置,他会从string类对象str首字符开始,一个一个字符查找,看是否与“aeiou”中的某个字符不匹配,如果不匹配则返回该字符在str中的位置
1.5 find_last_of与find_last_not_of



1.6 copy复制string类对象内的字符串内容


1.7 compare对比string类字符串

- compare对比的原则就是:如果给了判定条件,假如a>b这种,满足条件返回大于0的数,一般为1,不满足条件则返回0
- 如果没有给定判定条件,例如
s2.compare(s1)
,他会将s1和s2进行比较,如果s2大于s1,那么返回大于0的数;如果s2小于s1,那么返回小于0的数;如果s2等于s1,那么返回0

1.8 全局函数relational operators(string)

- 上面提到的compare是string里面的成员函数,C++把字符串中的比较运算符重载为全局函数,迭代器都可以使用,而不仅仅局限于string

1.9 全局函数operator+


1.10 全局函数getline读取字符串

- 输入流cin读取字符串时遇到空格或者换行符’\n’就会自动停止读取,而需要读取中间有多个空格或者其他字符的字符串时,cin明显不行,getline便可以实现


2. 练习题:计算0最后一个单词的长度


3. 验证字符串是否是回文串
