C++ String类常用函数详解

5 下载量 5 浏览量 更新于2024-08-30 收藏 116KB PDF 举报
"C++中的`std::string`是一个非常强大的字符串类,它提供了许多方便的函数来处理字符串。本文将总结`std::string`的常用函数及其用法。" 在C++编程中,我们常常使用`std::string`替代传统的`char*`字符串,因为它提供了内存管理、长度计算以及丰富的操作方法。要使用`std::string`,我们需要包含`<string>`头文件,并可能使用`std`命名空间。 1. 声明和初始化字符串 - `string str;` 声明一个空字符串。 - `string str = "Hello";` 初始化为包含特定文本的字符串。 - `string str2 = str1;` 拷贝构造函数创建`str1`的副本。 - `string str3(str1, pos);` 从`str1`的指定位置`pos`开始创建新字符串。 - `string str4(str1, pos, len);` 从`str1`的`pos`位置开始,取`len`长度创建新字符串。 - `string str5(cstr);` 从C风格字符串`cstr`创建字符串。 - `string str6(chars, chars_len);` 从C风格字符串的前`chars_len`个字符创建字符串。 - `string str7(num, c);` 创建包含`num`个字符`c`的字符串。 - `string str8(beg, end);` 从迭代器`beg`到`end`(不包括`end`)创建字符串。 2. 字符串操作函数 - `=` 和 `assign()`:赋值操作,`str = "new value"` 或 `str.assign("new value")`。 - `+=` 和 `append()`:字符串连接,`str += "another"` 或 `str.append("another")`。 - `compare()`:比较两个字符串,返回负值、零或正值表示小于、等于或大于。 - `find()`:查找子串在字符串中的位置,返回索引或`npos`表示未找到。 - `substr()`:提取字符串的一部分,`str.substr(pos, len)`。 - `size()` 和 `length()`:获取字符串的长度。 - `empty()`:检查字符串是否为空。 - `clear()`:清空字符串。 - `insert()`:在指定位置插入字符串或字符。 - `erase()`:删除指定位置的字符或范围。 - `replace()`:替换指定范围的字符或子串。 - `push_back()`:在字符串末尾添加一个字符。 - `pop_back()`:移除字符串末尾的一个字符。 - `begin()` 和 `end()`:返回字符串的迭代器,用于遍历字符串。 这些函数使得在C++中处理字符串变得十分便捷。例如,`find()`函数可以查找子串,`replace()`可以替换特定子串,`substr()`用于提取部分字符串,而`assign()`和`append()`则用于设置或增加字符串的内容。通过灵活运用这些函数,我们可以高效地实现字符串的各种操作,无需像使用`char*`那样手动管理内存。