能不能不调用string::npos实现
时间: 2024-03-09 20:47:45 浏览: 97
详解C++的String类的字符串分割实现
5星 · 资源好评率100%
当然可以,可以直接判断`find()`方法返回的值是否等于目标串的长度。如果相等,说明没有找到模式串,否则返回找到的位置。下面是修改后的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string target, pattern;
getline(cin, target); // 输入目标串
getline(cin, pattern); // 输入模式串
int pos = target.find(pattern); // 在目标串中查找模式串
if (pos == target.length()) { // 如果没找到
cout << 0 << endl; // 输出0
} else { // 如果找到了
cout << pos << endl; // 输出模式串在目标串中的位置
}
return 0;
}
```
这样也可以实现相同的功能。
阅读全文