std::string判断相等
时间: 2024-08-29 19:01:04 浏览: 60
在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 怎么判断为空
可以使用以下方法来判断std::string是否为空:
1. 使用empty()函数:empty()函数返回一个布尔值,如果字符串为空,则返回true,否则返回false。
```cpp
std::string test_string;
if (test_string.empty()) {
std::cout << "test_string is empty!" << std::endl;
}
```
2. 使用比较运算符:可以将std::string与空字符串进行比较,如果相等,则说明字符串为空。
```cpp
std::string test_string;
if (test_string == "") {
std::cout << "test_string is empty!" << std::endl;
}
```
3. 使用size()函数:size()函数返回字符串的长度,如果长度为0,则说明字符串为空。
```cpp
std::string test_string;
if (test_string.size() == 0) {
std::cout << "test_string is empty!" << std::endl;
}
```
注意:在C++中,std::string类型的变量默认是空字符串,即使没有显式初始化。因此,如果没有对std::string变量进行赋值操作,它将被视为空字符串。
判断两个std::string相等
要判断两个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不相等"。