string所有方法

string的所有方法
构造与赋值
string()                                    默认构造函数(空字符串)
string(const string& str)                   拷贝构造函数
string(const char* s)                       从C风格字符串构造
string(size_t n, char c)                    构造包含 n 个字符 c 的字符串
operator=                                   赋值操作符(支持字符串、字符数组、字符等)
assign(...)                                 多种重载,灵活赋值

容量相关          
size() / length()                           返回字符数量(等价方法)
capacity()                                  返回当前分配的存储容量
empty()                                     判断字符串是否为空
reserve(size_t n)                           预留至少 n 字节的内存空间
resize(size_t n)                            调整字符串长度为 n(填充默认字符或截断)
shrink_to_fit()                             请求减少容量以匹配当前大小(C++11元素访问            
operator[](size_t pos)                      访问指定位置字符(不检查越界)
at(size_t pos)                              访问指定位置字符(越界时抛出异常)
front()                                     返回首字符(C++11)
back()                                      返回末尾字符(C++11)
data()                                      返回指向内部字符数组的指针(C++11 后保证以 \0 结尾)
c_str()                                     返回C风格字符串(const char*修改操作            
clear()                                     清空字符串内容
push_back(char c)                           在末尾追加字符
pop_back()                                  删除末尾字符(C++11)
append(...)                                 追加字符串/字符数组/子串等
operator+=                                  追加字符串/字符数组/字符
insert(size_t pos, ...)                     在指定位置插入内容
erase(size_t pos, size_t len)               删除指定位置的内容
replace(size_t pos, size_t len, ...)        替换指定位置的内容
swap(string& str)                           交换两个字符串的内容

字符串操作
substr(size_t pos, size_t len)              返回从 pos 开始的子字符串
copy(char* dest, size_t len, size_t pos)    将子字符串复制到字符数组
compare(...)                                与另一个字符串/字符数组比较(返回 -1/0/1)
starts_with(...)                            判断是否以指定前缀开头(C++20)
ends_with(...)                              判断是否以指定后缀结尾(C++20)
contains(...)                               判断是否包含子字符串(C++23
查找与替换
find(...)                                   查找子字符串/字符的首次出现位置
rfind(...)                                  查找子字符串/字符的最后一次出现位置
find_first_of(...)                          查找字符集合中任意字符的首次出现
find_last_of(...)                           查找字符集合中任意字符的最后一次出现
find_first_not_of(...)                      查找不在字符集合中的首个字符
find_last_not_of(...)                       查找不在字符集合中的最后一个字符

迭代器  
begin() / end()                             正向迭代器的起始和结束
rbegin() / rend()                           反向迭代器的起始和结束
cbegin() / cend()                           常量正向迭代器(C++11
其他操作
getline(istream& is, string& str)    从输入流读取一行到字符串(全局函数)
operator+    字符串拼接(非成员函数)
operator<< / operator>>    流输入输出操作

 

posted @ 2025-03-17 09:34  璀丶璨星灬空  阅读(9)  评论(0)    收藏  举报