std::string 如何比较字符串、
时间: 2024-09-10 10:30:52 浏览: 79
在 C++ 中,`std::string` 类型提供了一些内置的成员函数来进行字符串比较。主要有以下几种方式:
1. **==** 运算符:用于比较两个 `std::string` 对象的内容是否相等,如果内容完全一样,则返回 `true`,否则返回 `false`。
```cpp
std::string str1 = "hello";
std::string str2 = "world";
bool areEqual = (str1 == str2); // areEqual 的值将为 false
```
2. **!=** 运算符:用于检查两个字符串是否不相等,它的作用与 `==` 相反。
```cpp
bool notEqual = (str1 != str2); // notEqual 的值将为 true
```
3. `.compare()` 函数:可以指定开始位置和长度进行比较,或者默认从头到尾。如果字符串相同则返回0,小于0表示第一个字符串较小,大于0表示第一个字符串较大。
```cpp
int comparisonResult = str1.compare(str2);
```
4. `.find()` 或 `.rfind()` 函数:查找另一个字符串在当前字符串中的位置,如果找到则返回该位置,没找到则返回 `std::string::npos`。
```cpp
size_t index = str1.find("llo"); // 找到 "llo" 的起始位置,如在第二个字符
```
5. **lexicographical comparison**:`<`, `>`, `<=`, `>=` 操作符也可以用于对字符串进行字典序的比较。
记得,所有这些比较都是区分大小写的,如果你想进行不区分大小写的比较,可以先将字符串转换为小写或大写再做比较。
阅读全文