c++ string库的函数及使用示例
时间: 2024-10-27 07:11:45 浏览: 36
C++ `std::string` 库提供了丰富的字符串处理功能。下面是一些常用的 `std::string` 函数及其简单示例:
1. **构造函数**:
- `std::string()` 或 `std::string(const char*)`: 创建一个空字符串或复制一个已有字符串。
```cpp
std::string emptyString; // 创建空字符串
std::string str("Hello World"); // 创建包含文本的字符串
```
2. **赋值**:
- `operator=`: 将一个字符串赋给另一个。
```cpp
std::string anotherStr = "C++ is fun"; // 给str赋新值
```
3. **长度获取**:
- `length()` 或 `size()`: 返回字符串长度。
```cpp
int length = str.length(); // 获取str的长度
```
4. **访问字符**:
- `at(size_t index)`: 根据索引获取字符,下标从0开始。注意越界检查。
```cpp
char firstChar = str.at(0); // 获取第一个字符
```
5. **查找子串**:
- `find(const char*, size_t pos = 0)` 或 `find(std::string const&)`: 查找子串的位置。
```cpp
size_t position = str.find("World"); // 查找"World"的位置
```
6. **替换部分**:
- `replace(size_t pos, size_t n, const char*, size_t count = n)` 或 `replace(pos, n, str2)`: 替换部分字符。
```cpp
str.replace(6, 5, "Fun"); // 将"World"替换为"Fun"
```
7. **连接字符串**:
- `append(const string& str)` 或 `+=` 运算符: 合并两个字符串。
```cpp
str += ", awesome!"; // 在末尾添加额外信息
```
8. **拆分字符串**:
- `substr(size_t pos, size_t n = npos)` 或 `std::getline(std::istream&, string&, char delimiter = '\n')`: 提取子串。
```cpp
std::string part = str.substr(0, 5); // 取前5个字符
```
9. **输出到流**:
- `std::cout << str;`: 输出字符串到控制台。
10. **释放内部存储** (不是必需的,因为`std::string`自动管理内存):
- C++11及以上版本中不需要手动释放,`std::string`会自动生成析构函数处理内存。
- 对于老版本,可以使用`clear()`清空内容,但不会释放内存。
以上是一些基本的 `std::string` 函数示例,实际使用时还有很多其他辅助函数和特性,如插入、删除字符等。
阅读全文