std::string查找字符串
时间: 2024-08-16 21:03:04 浏览: 45
C++ STL std::string详细讲解
5星 · 资源好评率100%
在C++标准库中,`std::string` 类型提供了一些内置函数来查找特定的子串。其中最常用的是 `find()` 和 `find_first_of()` 函数。
1. `find()` 函数:用于查找指定子串首次出现的位置。其原型是:
```cpp
size_t find(const char* str, size_t pos = 0) const;
```
或者
```cpp
size_t find(const string& substr, size_t pos = 0) const;
```
如果找到了子串,它会返回子串开始的位置(从0开始计数),如果没找到则返回 `npos`(通常为 `std::string::npos`,表示无效的位置)。
2. `find_first_of()` 函数:查找第一个出现的指定字符集合中的任何一个字符的位置。它的原型是:
```cpp
size_t find_first_of(const string& str, size_t pos = 0) const;
```
例如,假设我们有一个 `std::string` 对象 `str`,可以这样查找子串:
```cpp
size_t index = str.find("hello"); // 查找"hello"
if (index != std::string::npos) {
std::cout << "Substring found at position " << index << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
```
阅读全文