string有find函数嘛
时间: 2023-11-16 07:04:50 浏览: 104
是的,C++ 中的 string 类型也提供了 find() 函数来查找指定字符或字符串在字符串中的位置。
find() 函数的语法如下:
```
size_t find(const string& str, size_t pos = 0) const noexcept;
size_t find(const char* s, size_t pos = 0) const;
size_t find(const char* s, size_t pos, size_t n) const;
size_t find(char c, size_t pos = 0) const noexcept;
```
其中,第一个参数可以是一个字符串或字符数组,第二个参数是起始查找位置,默认为 0。
以下是一个示例代码:
```
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 查找字符串 "World"
size_t found = str.find("World");
if (found != std::string::npos) {
std::cout << "字符串 \"World\" 在位置 " << found << " 处找到了" << std::endl;
} else {
std::cout << "字符串 \"World\" 没有找到" << std::endl;
}
// 查找字符 'o'
found = str.find('o');
while (found != std::string::npos) {
std::cout << "字符 'o' 在位置 " << found << " 处找到了" << std::endl;
found = str.find('o', found + 1);
}
return 0;
}
```
输出结果为:
```
字符串 "World" 在位置 7 处找到了
字符 'o' 在位置 4 处找到了
字符 'o' 在位置 7 处找到了
字符 'o' 在位置 10 处找到了
```
注意,如果 find() 函数找不到指定的字符或字符串,则会返回 std::string::npos,表示未找到。
阅读全文