std::string的使用
时间: 2023-07-08 09:06:42 浏览: 87
C++ STL std::string详细讲解
5星 · 资源好评率100%
`std::string` 是 C++ 标准库中的一个类,用于处理字符串。它提供了许多方便的方法来处理字符串,比如插入、删除、查找、替换等。
以下是一些 `std::string` 的常用方法:
1. 构造函数
`std::string` 支持多种构造函数,包括默认构造函数、从 C 风格字符串构造函数、从另一个 `std::string` 对象构造函数等。例如:
```c++
std::string str1; // 默认构造函数,创建一个空字符串
std::string str2("hello"); // 从 C 风格字符串构造函数,创建一个包含 "hello" 的字符串
std::string str3(str2); // 从另一个 std::string 对象构造函数,创建一个与 str2 内容相同的字符串
```
2. 赋值操作
`std::string` 支持多种赋值操作,包括从 C 风格字符串赋值、从另一个 `std::string` 对象赋值等。例如:
```c++
std::string str1 = "hello"; // 从 C 风格字符串赋值
std::string str2;
str2 = str1; // 从另一个 std::string 对象赋值
std::string str3;
str3.assign("world"); // 使用 assign() 方法从 C 风格字符串赋值
```
3. 连接字符串
`std::string` 提供了 `+` 运算符和 `append()` 方法来连接两个字符串。例如:
```c++
std::string str1 = "hello";
std::string str2 = "world";
std::string str3 = str1 + " " + str2; // 使用 + 运算符连接两个字符串
std::string str4 = "hello";
str4.append(" world"); // 使用 append() 方法连接两个字符串
```
4. 获取字符串长度
`std::string` 的 `length()` 和 `size()` 方法可以获取字符串的长度。
```c++
std::string str = "hello world";
int len1 = str.length();
int len2 = str.size();
```
5. 访问字符串中的字符
`std::string` 支持通过下标访问字符串中的字符,下标从 0 开始。例如:
```c++
std::string str = "hello";
char c1 = str[0];
char c2 = str.at(1); // 使用 at() 方法访问字符串中的字符
```
6. 查找子字符串
`std::string` 的 `find()` 方法可以查找子字符串在原字符串中的位置。例如:
```c++
std::string str = "hello world";
int pos1 = str.find("world"); // 查找子字符串 "world"
int pos2 = str.find("world", 6); // 从第 6 个字符开始查找子字符串 "world"
```
7. 截取字符串
`std::string` 的 `substr()` 方法可以截取字符串的一部分。例如:
```c++
std::string str = "hello world";
std::string sub1 = str.substr(6); // 从第 6 个字符开始截取到字符串末尾
std::string sub2 = str.substr(0, 5); // 截取从第 0 个字符开始的 5 个字符
```
8. 插入和删除字符
`std::string` 的 `insert()` 和 `erase()` 方法可以插入和删除字符。例如:
```c++
std::string str = "hello";
str.insert(2, "llo"); // 在第 2 个字符后插入 "llo"
str.erase(3, 2); // 删除从第 3 个字符开始的 2 个字符
```
以上是 `std::string` 的一些常用方法,还有其他方法可以在 C++ 标准库文档中查看。
阅读全文