C++ String 类常用函数详解

需积分: 18 5 下载量 189 浏览量 更新于2024-09-09 收藏 32KB DOCX 举报
"本摘要主要介绍了C++中的string类,包括其常用的构造函数和一系列操作字符串的函数。" 在C++编程语言中,`std::string`是一个非常重要的数据类型,它用于处理和操作文本字符串。下面我们将详细探讨string类的构造函数以及一些常用的操作函数。 首先,我们来看string的构造函数: 1. `string str;` 这是一个默认构造函数,创建一个空字符串。 2. `string str(str副本);` 拷贝构造函数,创建与给定字符串`str副本`相同的字符串。 3. `string str(str起始, 长度);` 从字符串`str`的指定位置`str起始`开始,截取长度为`长度`的部分作为新字符串。 4. `string str(str起始, strlen);` 类似于上一个,但根据C风格字符串的长度截取。 5. `string str(cstr);` 将C风格的字符数组(以空字符'\0'结尾)转换为`string`对象。 6. `string str(chars, chars_len);` 从C风格字符数组的前`chars_len`个字符创建字符串。 7. `string str(num, c);` 创建包含`num`个字符`c`的字符串。 8. `string str(beg, end);` 从给定的字符迭代器`beg`到`end`(不包括`end`)创建字符串。 接下来,我们讨论一些基本的字符串操作函数: 1. `=` 和 `assign()`:用于给字符串赋新的值,可以是另一个字符串、字符数组或单个字符。 2. `swap()`:交换两个字符串的内容,实现快速的字符串互换。 3. `+=`, `append()`, `push_back()`:在字符串末尾添加字符或字符串,扩展字符串的长度。 4. `insert()`:在指定位置插入字符或字符串,允许动态插入。 5. `erase()`:删除指定位置的字符或子字符串,减少字符串长度。 6. `clear()`:清除所有字符,使字符串变为空。 7. `replace()`:替换指定范围的字符或子字符串。 8. `+` 操作符:连接两个字符串,生成新的合并字符串。 9. `==, !=, <, <=, >, >=, compare()`:比较字符串的大小,可用于排序或条件判断。 10. `size()`, `length()`:返回字符串中字符的数量。 11. `max_size()`:返回字符串可能的最大长度。 12. `empty()`:检查字符串是否为空,返回布尔值。 13. `capacity()`:返回当前字符串的容量,即未进行内存重新分配前可存储的字符数。 14. `reserve()`:预留内存空间以容纳特定数量的字符,避免频繁的内存重新分配。 15. `[]` 和 `at()`:访问和修改字符串中的单个字符,`[]`更便捷但可能会越界,`at()`有越界检查。 16. `>>` 和 `getline()`:从输入流中读取字符串,`>>`通常用于单词,`getline()`用于读取整行。 17. `<<`:将字符串写入输出流,常用于打印。 这些函数提供了对C++字符串的强大操作能力,使得在处理文本数据时更加灵活和高效。通过熟练掌握这些函数,开发者能够更好地管理和操纵字符串,实现复杂的文本处理任务。