c++ string npos
时间: 2023-08-18 12:11:31 浏览: 162
`std::string::npos` 是C++标准库中的一个特殊值,它表示字符串中无效的位置。在`std::string`中,`npos`被定义为一个静态常量,其值通常为-1或者一个超出有效索引范围的值。
通常情况下,`std::string::npos`用于表示字符串查找操作失败时的返回值。例如,在使用`find()`函数进行字符串查找时,如果未找到目标字符串,`find()`函数会返回`std::string::npos`。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::size_t found = str.find("foo");
if (found == std::string::npos) {
std::cout << "Substring not found." << std::endl;
} else {
std::cout << "Substring found at position " << found << std::endl; }
return 0;
}
```
在上面的代码中,我们使用`find()`函数在字符串中查找子字符串"foo"。由于"foo"不存在于原始字符串中,因此`find()`函数返回`std::string::npos`,我们可以据此判断子字符串是否存在于原始字符串中。
希望能解答你的问题!如果还有其他问题,请随时提问。
阅读全文