c++findstring函数
时间: 2023-10-28 18:21:10 浏览: 147
C语言中没有内置的"findstring"函数。然而,你可以使用库函数来在字符串中查找特定的子字符串。一个常用的库函数是`strstr()`,它可以用来在一个字符串中查找另一个字符串的第一次出现。
以下是`strstr()`函数的基本用法:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char substr[] = "World";
char *result = strstr(str, substr);
if(result == NULL) {
printf("Substring not found\n");
}
else {
printf("Substring found at index: %ld\n", result - str);
}
return 0;
}
```
这个例子中,我们在字符串`str`中查找子字符串`substr`。如果找到了子字符串,`strstr()`函数将返回第一次出现的位置的指针;如果没有找到,它将返回`NULL`。我们可以通过计算返回指针和原始字符串指针的差值来获取子字符串的索引。
请注意,这只是一个例子,你可以根据自己的需求进行修改和扩展。
相关问题
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++stringfind函数的用法
C++中的`string`类提供了`find`函数来查找一个子串在字符串中第一次出现的位置。其函数原型如下:
```
size_t find(const string& str, size_t pos = 0) const noexcept;
```
其中,`str`是要查找的子串,`pos`是起始查找位置,默认值为0。函数返回值是一个`size_t`类型的整数,表示子串在字符串中第一次出现的位置,如果没有找到则返回`string::npos`。
以下是一个示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "hello world";
size_t pos = s.find("world");
if (pos != string::npos) {
cout << "Found at position " << pos << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
```
输出结果为:
```
Found at position 6
```
阅读全文