C++字符串操作及相关函数汇总

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() 函数从左侧开始查找子字符串。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值