C++ string find()函数的详细用法
时间: 2024-10-15 08:27:47 浏览: 39
`std::string` 类型中的 `find()` 函数用于在一个字符串中查找指定子串第一次出现的位置。这个函数非常实用,返回值类型为 `size_t`,代表找到的子串相对于整个字符串的索引位置。如果找不到匹配的子串,函数会返回 `npos`(这是一个特殊的常量,通常表示 `std::string::npos`,等于 `std::string::size_type(-1)`),表示未找到。
下面是 `find()` 函数的基本用法:
```cpp
#include <string>
// 定义一个字符串
std::string str = "Hello, World!";
// 使用 find() 查找子串
size_t position = str.find("World"); // 查找 "World" 的位置
// 检查是否找到了
if (position != std::string::npos) {
std::cout << "Substring found at index: " << position << std::endl;
} else {
std::cout << "Substring not found." << std::endl;
}
```
`find()` 还接受可选的两个参数,第二个参数表示从哪个索引开始搜索,默认从开头(0)。例如:
```cpp
position = str.find("!", 7); // 从第8个字符开始查找 "!"
```
如果你要进行不区分大小写的查找,可以先将字符串转换为全小写或全大写再调用 `find()`,但请注意这不是标准库的一部分,你需要自定义这部分逻辑。
阅读全文