得到一个字符串在另一个字符串中第一次出现地址的函数方法c++不用find()
时间: 2024-03-27 19:35:58 浏览: 52
C++实现将一个字符串中的字符替换成另一个字符串的方法
5星 · 资源好评率100%
除了使用 `find()` 函数外,还可以使用 C++ 标准库中的 `strstr()` 函数来查找一个字符串在另一个字符串中第一次出现的位置。
`strstr()` 函数定义在 `cstring` 头文件中,它接收两个参数,第一个参数是要在其中查找的原始字符串,第二个参数是要查找的子串。该函数返回一个指向子串第一次出现的位置的指针,如果没有找到则返回空指针。
以下是一个示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str1[] = "hello world";
char str2[] = "world";
char* pos = strstr(str1, str2); // 查找 str2 在 str1 中第一次出现的位置
if (pos) { // 如果找到了
cout << "Found at position " << pos - str1 << endl;
} else { // 如果没有找到
cout << "Not found" << endl;
}
return 0;
}
```
在上面的示例代码中,`pos - str1` 表示子串在原始字符串中的位置偏移量。
阅读全文