判断两个std::string相等
时间: 2023-11-17 09:04:26 浏览: 276
要判断两个std::string对象是否相等,可以使用比较运算符"=="。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "Hello";
if (str1 == str2) {
std::cout << "str1和str2相等" << std::endl;
} else {
std::cout << "str1和str2不相等" << std::endl;
}
return 0;
}
```
在这个示例中,我们使用"=="运算符比较了str1和str2的值是否相等。如果相等,则输出"str1和str2相等";否则,输出"str1和str2不相等"。
相关问题
std::string判断相等
在C++标准库中,你可以使用`==`运算符来比较`std::string`对象是否相等。这个运算符会逐字符地比较两个字符串的内容,如果所有字符都匹配,则返回`true`;否则返回`false`。这是一个基本的例子:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
if (str1 == str2) {
std::cout << "The strings are equal.\n";
} else {
std::cout << "The strings are not equal.\n";
}
return 0;
}
```
在这个例子中,由于`str1`和`str2`的内容不同,程序将输出"The strings are not equal."。
如果你关心的是大小写敏感还是不敏感的比较,你可以先将它们转为统一的格式再进行比较,可以使用`std::transform`和`std::tolower`(对于ASCII字符)或`std::wstring_convert`和`std::to_wchar_t`(对于宽字符)等工具。
std::string比较
在C++中,可以使用`==`运算符来比较两个`std::string`对象是否相等。如果两个对象的内容相同,则返回`true`,否则返回`false`。例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
if (str1 == str2) {
std::cout << "str1 and str2 are equal." << std::endl;
} else {
std::cout << "str1 and str2 are not equal." << std::endl;
}
return 0;
}
```
输出结果为:
```
str1 and str2 are not equal.
```
需要注意的是,`compare`方法和`strcmp`并不相同,它比较的是`std::string`的`size()`大小里的所有字节。在`size()`长度范围里,如果有`\0`字符,一样进行比较。所以在不知道`std::string`里是否存储纯字符串时,最好先转换为`const char*`(调用`c_str()`),再调用`strcmp`比较。
阅读全文