c++如何确认两个字符串是否相同
时间: 2024-09-07 16:01:25 浏览: 99
在C++中,确认两个字符串是否相同的常用方法有两种:
**1. 使用标准库函数** - `std::equal` 和 `std::begin` / `std::end`:
```cpp
#include <algorithm>
#include <string>
bool stringsAreEqual(const std::string& str1, const std::string& str2) {
return std::equal(std::begin(str1), std::end(str1), std::begin(str2));
}
```
这段代码检查两个字符串的所有字符是否一一对应相等。
**2. 使用内置的==运算符** - 如果字符串是C风格的`char*`指针或者`const char*`,并且长度已知且固定,也可以直接用`==`比较:
```cpp
if (strcmp(str1.c_str(), str2.c_str()) == 0) {
// 字符串相同
}
```
对于`std::string`对象,`==`运算符已经隐含地实现了字符-by-character的比较。
注意,如果你想要处理空字符串(`""`),应该特别处理这种情况:
```cpp
if (str1.empty() && str2.empty()) {
// 两个都是空字符串
} else if (str1.empty() || str2.empty()) {
// 一个为空,另一个不是
} else {
// 正常比较
}
```
阅读全文