1.头文件
#include <string>
using namespace std;
2.构造函数和赋值操作符
- string(): 默认构造函数,创建一个空字符串。
- string(const char* s): 使用 C 风格的字符串 s 初始化一个字符串。
- string(const char* s, size_t n): 使用 C 风格的字符串 s 中前 n 个字符初始化一个字符串。
- string(const string& str): 使用另一个字符串 str 初始化一个字符串。
- string(size_t n, char c): 创建一个包含 n 个字符 c 的字符串。
- operator=: 赋值操作符,用于将一个字符串赋值给另一个字符串。
- string(nitializer_list ilist): 使用初始化列表 ilist 初始化一个字符串。
- string(string&& str) noexcept: 移动构造函数,将一个右值引用 str 初始化一个字符串。
- operator=(initializer_list ilist): 将初始化列表 ilist 赋值给一个字符串。
- operator=(string&& str) noexcept: 移动赋值操作符,将一个右值引用 str 赋值给一个字符串。
3.容量操作函数
- size(): 返回字符串中字符的数量。
- length(): 返回字符串中字符的数量。
- capacity(): 返回字符串的容量。
- reserve(size_t n): 将字符串的容量设置为至少 n 个字符。
- shrink_to_fit(): 将字符串的容量调整为恰好等于字符串长度。
- empty(): 返回一个布尔值,指示字符串是否为空。
4.访问操作函数
- operator[]: 访问字符串中的某个字符。
- at(size_t pos): 访问字符串中的某个字符,并进行边界检查。
- front(): 返回字符串中的第一个字符。
- back(): 返回字符串中的最后一个字符。
- data(): 返回指向字符串中第一个字符的指针。
- c_str(): 返回指向以空字符结尾的字符数组的指针。
5.修改操作函数
- push_back(char c): 在字符串的末尾添加一个字符 c。
- pop_back(): 删除字符串的最后一个字符。
- append(const char* s): 在字符串的末尾添加一个 C 风格字符串 s。
- append(const std::string& str): 在字符串的末尾添加另一个字符串 str。
- append(const char* s, size_t n): 在字符串的末尾添加 C 风格字符串 s 中的前 n 个字符。
- append(std::initializer_list ilist): 在字符串的末尾添加初始化列表 ilist 中的字符。
- append(size_t n, char c): 在字符串的末尾添加 n 个字符 c。
- insert(size_t pos, const char* s): 在位置 pos 插入一个 C 风格字符串 s。
- insert(size_t pos, const std::string& str): 在位置 pos 插入另一个字符串 str。
- insert(size_t pos, const char* s, size_t n): 在位置 pos 插入 C 风格字符串 s 中的前 n 个字符。
- insert(iterator p, char c): 在位置 p 插入一个字符 c。
- insert(iterator p, size_t n, char c): 在位置 p 插入 n 个字符 c。
- erase(size_t pos, size_t len): 从位置 pos 开始删除 len 个字符。
- erase(iterator p): 删除位置 p 处的字符。
- erase(iterator first, iterator last): 删除从 first 到 last 之间的所有字符。
- replace(size_t pos, size_t len, const char* s): 用 C 风格字符串 s 替换位置 pos 开始的 len 个字符。
- replace(size_t pos, size_t len, const std::string& str): 用另一个字符串 str 替换位置 pos 开始的 len 个字符。
- replace(size_t pos, size_t len, const char* s, size_t n): 用 C 风格字符串 s 中的前 n 个字符替换位置 pos 开始的 len 个字符。
- replace(iterator first, iterator last, const char* s): 用 C 风格字符串 s 替换从 first 到 last 之间的所有字符。
- replace(iterator first, iterator last, const std::string& str): 用另一个字符串 str 替换从 first 到 last 之间的所有字符。
- replace(iterator first, iterator last, const char* s, size_t n): 用 C 风格字符串 s 中的前 n 个字符替换从 first 到 last 之间的所有字符。
- replace(iterator first, iterator last, size_t n, char c): 用 n 个字符 c 替换从 first 到 last 之间的所有字符。
- substr(size_t pos , size_t len): 用于获取字符串的子串
- clear(): 删除字符串中的所有字符。
6.比较操作函数
- compare(const char* s): 将字符串与 C 风格字符串 s 进行比较。
- compare(const std::string& str): 将字符串与另一个字符串 str 进行比较。
- compare(size_t pos, size_t len, const char* s): 将字符串中从位置 pos 开始的 len 个字符与 C 风格字符串 s 进行比较。
- compare(size_t pos, size_t len, const std::string& str): 将字符串中从位置 pos 开始的 len 个字符与另一个字符串 str 进行比较。
- operator==(const char* s): 判断字符串是否与 C 风格字符串 s 相等。
- operator==(const std::string& str): 判断字符串是否与另一个字符串 str 相等。
- operator!=(const char* s): 判断字符串是否与 C 风格字符串 s 不相等。
- operator!=(const std::string& str): 判断字符串是否与另一个字符串 str 不相等。
- operator<(const char* s): 判断字符串是否小于 C 风格字符串 s。
- operator<(const std::string& str): 判断字符串是否小于另一个字符串 str。
- operator<=(const char* s): 判断字符串是否小于等于 C 风格字符串 s。
- operator<=(const std::string& str): 判断字符串是否小于等于另一个字符串 str。
- operator>(const char* s): 判断字符串是否大于 C 风格字符串 s。
- operator>(const std::string& str): 判断字符串是否大于另一个字符串 str。
- operator>=(const char* s): 判断字符串是否大于等于 C 风格字符串 s。
- operator>=(const std::string& str): 判断字符串是否大于等于另一个字符串 str。
7.查找操作函数
- find(const char* s): 在字符串中查找 C 风格字符串 s 的第一次出现位置。
- find(const std::string& str): 在字符串中查找另一个字符串 str 的第一次出现位置。
- find(const char* s, size_t pos, size_t n): 在字符串中从位置 pos 开始查找 C 风格字符串 s 的第一次出现位置,最多查找 n 个字符。
- find(const std::string& str, size_t pos): 在字符串中从位置 pos 开始查找另一个字符串 str 的第一次出现位置。
- rfind():rfind() 函数与 find() 函数类似,但是它从右侧开始查找子字符串,而 find() 函数从左侧开始查找子字符串。