C++ String 类常用函数详解
需积分: 10 86 浏览量
更新于2024-12-12
1
收藏 50KB DOC 举报
C++中的`std::string`类是C++标准库中处理文本字符串的重要工具,它提供了丰富的功能和便利的操作。在编程中,理解并熟练运用`std::string`类的常见函数是非常必要的。以下是对这些函数的详细解释:
1. **构造函数**:
- `string(const char *s)`:这个构造函数接收一个C风格的字符数组,将其内容用于初始化`std::string`对象。
- `string(int n, char c)`:创建一个包含`n`个字符`c`的`std::string`。
- 默认构造函数`strings1;`创建一个空字符串。
- 复制构造函数`string s2="hello";`将字符字面量转换为`std::string`。
2. **字符操作**:
- `const char &operator[](int n) const` 和 `const char &at(int n) const`:这两个成员函数允许访问字符串中的字符。`operator[]`不进行边界检查,`at()`则会检查索引是否越界,越界时抛出`out_of_range`异常。
- `char &operator[](int n)` 和 `char &at(int n)`:与前面的类似,但返回的是可修改的字符引用,可以用于改变字符串中的字符。
- `const char *data() const`:返回一个指向字符串内部存储的非空终止C风格字符数组的指针。
- `const char *c_str() const`:返回一个以空字符`\0`终止的C风格字符串指针。
3. **特性描述**:
- `int capacity() const`:返回当前字符串的容量,即不需额外分配内存即可存储的字符数量。
- `int max_size() const`:返回`std::string`对象能容纳的最大字符串长度。
- `int size() const` 和 `int length() const`:返回字符串的当前长度,两个函数作用相同。
- `bool empty() const`:检查字符串是否为空,如果长度为0,则返回`true`。
4. **输入输出操作**:
- `std::string`类重载了`operator>>`和`operator<<`,使得可以直接与`std::cin`和`std::cout`进行字符串的输入输出。
- `getline(std::istream &in, std::string &s)`:从输入流`in`中读取一行(以换行符`\n`为结束标志)并存入`s`。
5. **赋值操作**:
- `string &operator=(const string &s)`:字符串赋值操作符,将`s`的内容赋给当前字符串对象,实现浅拷贝。
6. **其他常用操作**:
- `void resize(int len, char c)`:调整字符串的大小为`len`,若长度增加,则用字符`c`填充,若长度减少,则超出部分的字符被删除。
- `string operator+(const string &s)`:字符串连接操作,返回一个新的`std::string`,内容为当前字符串和`s`的拼接。
- `string substr(int pos = 0, int n = npos)`:返回从位置`pos`开始,长度为`n`的子串。如果不指定`n`,则默认取到字符串末尾。
理解和熟练使用这些函数,可以高效地处理和操作C++中的字符串,进行字符串拼接、查找、替换等常见任务,同时确保程序的健壮性和安全性。在实际编程中,还要注意内存管理和异常处理,以防止潜在的问题。
2009-06-06 上传
2021-10-11 上传
2023-07-28 上传
2023-05-23 上传
2024-03-10 上传
2023-03-11 上传
2024-08-31 上传
2024-11-03 上传