C++ std::string反向查找字符
时间: 2023-09-09 17:10:30 浏览: 62
使用std::string的rfind()函数可以反向查找字符,该函数从字符串的末尾开始查找,返回最后一次出现字符的位置。
例如,以下代码查找字符串中最后一次出现字符'c'的位置:
```
#include <iostream>
#include <string>
int main() {
std::string str = "abcdefgchijklmnc";
int pos = str.rfind('c');
std::cout << "Last position of 'c' is: " << pos << std::endl;
return 0;
}
```
输出结果为:
```
Last position of 'c' is: 14
```
相关问题
std::string 寻找字符串
std::string 类型提供了多个寻找字符串的方法,其中一些常用的方法包括:
1. find():在字符串中查找另一个字符串第一次出现的位置。
2. rfind():在字符串中反向查找另一个字符串最后一次出现的位置。
3. find_first_of():在字符串中查找另一个字符串中任意一个字符第一次出现的位置。
4. find_last_of():在字符串中反向查找另一个字符串中任意一个字符最后一次出现的位置。
5. find_first_not_of():在字符串中查找另一个字符串中任意一个字符第一次不出现的位置。
6. find_last_not_of():在字符串中反向查找另一个字符串中任意一个字符最后一次不出现的位置。
这些方法的具体用法可以参考 C++ 标准库文档。
如何声明std::string迭代器
可以使用以下方式声明std::string迭代器:
```c++
std::string str = "hello world";
// 声明正向迭代器
std::string::iterator it = str.begin();
// 声明常量正向迭代器
std::string::const_iterator cit = str.cbegin();
// 声明反向迭代器
std::string::reverse_iterator rit = str.rbegin();
// 声明常量反向迭代器
std::string::const_reverse_iterator crit = str.crbegin();
```
其中,正向迭代器可以通过begin()和end()函数获取,反向迭代器可以通过rbegin()和rend()函数获取。常量迭代器可以通过在函数名前加上const来获取,例如cbegin()和crbegin()。需要注意的是,常量迭代器只能访问字符串的值,而不能修改它们。