用c++判断两个字符串的包含关系
时间: 2024-10-14 07:03:31 浏览: 23
在C++中,判断两个字符串之间是否存在包含关系(即一个字符串是否是另一个字符串的子串)通常通过迭代或内置函数完成。这里有一个简单的示例,展示了如何使用`std::string`库中的`find()`函数来检查:
```cpp
#include <iostream>
#include <string>
bool isSubstring(const std::string& mainString, const std::string& subString) {
if (mainString.find(subString) != std::string::npos)
return true;
else
return false;
}
int main() {
std::string strMain = "Hello, world!";
std::string substr = "world";
if (isSubstring(strMain, substr)) {
std::cout << substr << " is a substring of " << strMain << std::endl;
} else {
std::cout << substr << " is not a substring of " << strMain << std::endl;
}
return 0;
}
```
在这个例子中,`find()`如果找到子串,会返回该子串的第一个字符位置;如果没有找到,则返回`std::string::npos`。所以,我们可以通过比较`find()`的结果和`npos`来判断子串的存在。
阅读全文