c++string中find的返回值
时间: 2023-04-22 19:01:17 浏览: 1072
c++中的string类的find()函数返回值是string::size_type类型的无符号整数,表示查找子串在原字符串中第一次出现的位置的索引值。如果找不到子串,则返回string::npos,它是一个常量,其值通常是-1或最大的无符号整数。
例如,以下代码查找字符串str中是否包含子串substr,并输出子串的索引位置:
```
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World!";
std::string substr = "World";
std::string::size_type pos = str.find(substr);
if (pos != std::string::npos) {
std::cout << "Substring found at position " << pos << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
return 0;
}
```
输出结果为:
```
Substring found at position 6
```
相关问题
c++ string find函数返回值
C++ 中的 `string` 类型的 `find()` 函数可以用于查找一个子串在另一个字符串中出现的位置。它的返回值是 `string::size_type` 类型,表示子串在字符串中第一次出现的位置(从 0 开始计数),如果没有找到,则返回 `string::npos`。`string::npos` 是一个常量,它的值通常是 `-1`(或者是 `std::string::size_type(-1)`)。因此,可以根据 `find()` 函数的返回值来判断是否找到了子串。例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string str = "hello world!";
std::string sub = "world";
std::string::size_type pos = str.find(sub);
if (pos != std::string::npos) {
std::cout << "Found at position " << pos << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
输出结果为:
```
Found at position 6
```
c++的string的find函数返回值
C++中的`string`类提供了`find`成员函数,用于查找子串或者字符在字符串中的位置。`find`函数的返回值是一个表示位置的`size_t`类型值。如果查找成功,返回值是子串或字符首次出现的起始位置的索引(索引从0开始)。如果查找失败,返回值是特殊值`string::npos`,它是一个`size_t`类型的常量,表示“没有位置”的意思。
`find`函数有多种重载形式,可以用来查找单个字符、字符数组、C风格字符串以及另一个`string`对象。以下是几种常见的使用方式:
1. `find(char c)`:查找字符`c`首次出现的位置。
2. `find(const char* s)`:查找以C风格字符串`s`开头的子串首次出现的位置。
3. `find(const string& str)`:查找字符串对象`str`首次出现的位置。
4. `find(char c, size_t pos)`:从位置`pos`开始查找字符`c`首次出现的位置。
5. `find(const char* s, size_t pos)`:从位置`pos`开始查找以C风格字符串`s`开头的子串首次出现的位置。
6. `find(const string& str, size_t pos)`:从位置`pos`开始查找字符串对象`str`首次出现的位置。
阅读全文