c++ 判断子字符串函数
时间: 2024-11-15 19:32:55 浏览: 3
在 C++ 中,判断一个字符串是否包含另一个子字符串通常使用 `find` 函数或者 `substr` 和 `length` 函数配合。以下是两种常见的方法:
1. **使用 find() 函数**:
如果一个主字符串 `str` 包含子字符串 `sub_str`,可以调用 `str.find(sub_str)`。如果返回值大于等于0,则表示找到了子字符串,否则没找到。
```cpp
bool isSubstring(const std::string &str, const std::string &sub_str) {
return str.find(sub_str) != std::string::npos;
}
```
2. **使用 substr() 和 length() 函数**:
首先检查子字符串的长度是否小于等于原字符串长度,然后逐字符比较。这种方法虽然不太直接,但如果需要精确控制查找过程,可能会用到。
```cpp
bool isSubstring(const std::string &str, const std::string &sub_str) {
if (sub_str.size() > str.size()) {
return false; // 子串过长不可能是原串的一部分
}
for (size_t i = 0; i <= str.size() - sub_str.size(); ++i) {
if (str.substr(i, sub_str.size()) == sub_str) {
return true;
}
}
return false;
}
```
阅读全文