请给出使用C++进行字符串查找的函数
时间: 2023-03-20 15:01:48 浏览: 71
C语言中常用的字符串查找函数是strstr(),它的原型如下:
```c
char *strstr(const char *haystack, const char *needle);
```
函数的功能是在字符串haystack中查找字符串needle的第一次出现,并返回指向该位置的指针。如果找不到,则返回NULL。
例如,下面的代码演示了如何使用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 found at position %ld\n", result - str);
} else {
printf("Substring not found\n");
}
return 0;
}
```
上面的代码输出结果为:
```
Substring found at position 7
```
这表示在字符串"Hello, world!"中,子串"world"第一次出现的位置是从索引7开始的。
相关问题
c++字符串查找函数
字符串查找函数在C语言和C++语言中有多种实现方法。在C++的STL中,可以使用find()函数来查找子字符串在字符串中的位置。该函数有两种原型,一种接受string字符串作为参数,另一种接受C风格的字符串作为参数。可以指定查找的起始位置,默认从第一个字符开始查找。如果找到了子字符串,则返回子字符串在字符串中的位置;如果未找到,则返回一个特殊的值。该函数返回共同字符在字符串中的位置,如果未找到共同字符,则返回一个特殊的值。
总之,根据不同的需求和语言,可以选择适合的字符串查找函数来实现相应的功能。
c++字符串查找子串函数
在C++中,你可以使用`find()`函数来进行字符串的子串查找操作。`find()`函数是`std::string`类的成员函数,用于在一个字符串中查找另一个子串,并返回第一次出现的位置。
以下是使用`find()`函数进行子串查找的示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string target = "World";
size_t found = str.find(target);
if (found != std::string::npos) {
std::cout << "Substring found at index " << found << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
return 0;
}
```
输出结果为:
```
Substring found at index 7
```
这表明目标子串"World"在原字符串"Hello, World!"中的索引位置为7。
你还可以使用`rfind()`函数来从字符串的末尾开始查找子串。此外,还有其他一些成员函数,如`find_first_of()`、`find_last_of()`、`find_first_not_of()`等,可以根据特定需求进行子串查找操作。具体使用哪个函数取决于你的需求。