C++中如何比较两个字符串是否相同
时间: 2024-09-09 14:10:36 浏览: 96
用C和C++比较两个字符串是否相同.docx
在C++中,可以使用`std::string`类型来表示字符串,可以使用比较运算符或成员函数`compare()`来比较两个字符串是否相同。
使用比较运算符进行比较时,可以直接使用等于运算符(==)或不等运算符(!=)来比较两个字符串是否相等。例如:
```cpp
std::string str1 = "Hello";
std::string str2 = "Hello";
if (str1 == str2) {
// 字符串相同
} else {
// 字符串不同
}
```
使用`compare()`成员函数进行比较时,需要使用`std::string`对象来调用该函数。该函数返回一个整数,如果两个字符串相等,则返回0;如果第一个字符串小于第二个字符串,则返回一个负数;如果第一个字符串大于第二个字符串,则返回一个正数。例如:
```cpp
std::string str1 = "Hello";
std::string str2 = "World";
int result = str1.compare(str2);
if (result == 0) {
// 字符串相同
} else if (result < 0) {
// 第一个字符串小于第二个字符串
} else {
// 第一个字符串大于第二个字符串
}
```
注意,`compare()`函数不会自动忽略大小写,如果要进行大小写不敏感的比较,可以使用`std::transform()`函数和`std::tolower()`函数进行转换后再进行比较。例如:
```cpp
std::string str1 = "Hello";
std::string str2 = "hello";
std::transform(str1.begin(), str1.end(), str1.begin(), ::tolower);
std::transform(str2.begin(), str2.end(), str2.begin(), ::tolower);
int result = str1.compare(str2);
```
阅读全文