【C++】--STL容器汇总 (二) -- String类型总结

String类型常用操作函数总结

构造函数

string(); 构造空的string类对象,即空字符串
string(const char*s); 用C-string来构造string类对象
string(size_t n,char c); string类对象包含n个字符cstring(const string&s) 拷贝构造函数

容量操作

size(); 返回字符串有效字符长度
length(); 返回字符串有效字符长度
capacity(); 返回空间总大小
empty(); 检测字符串是否为空串,是返回true,否则返回false
clear(); 清空有效字符
reserve(); 扩大容量
resize(); 将有效元素个数扩大到n个,多出来的空间用字符c填充

  • clear()只是将string中有效字符清空,不改变底层空间的大小
  • resize()在啊改变元素个数时,如果将元素个数增多,可能会改变底层容量的大小,如果是将元素个数减少,底层空间总大小不变
  • reserve()为string预留空间,不改变有效元素个数,当reserve的参数小于string的底层空间大小时,reserve不会改变容量大小

对象的访问、修改操作

push_back(c); 在字符串后尾插字符c
append(); 在字符串后支架一个字符串
operator+= 在字符串后追加字符串
strc_str(); 返回c格式的字符串
find(pos,c); 从字符串pos位置开始往后找字符c,返回该字符在字 符串中的位置
rfind(pos,c); 从字符串pos位置开始往前找字符c,返回该字符在字符串中的位置
c_str();将内容以c-string形式返回(char*begin();end();提供正向迭代器的支持
rbegin();rend(); 提供反向迭代器的支持
find_first_of();find_last_of();find_first_not_of()find_last_not_of();
搜索某个字符串的功能,返回值为被搜索字符的第1个字符第一次/最后一次出现的下标位置。
如果找不到,那么返回npos值
size_t find_first_of (const string& str, size_t pos = 0) const noexcept;
size_t find_first_of (const char* s, size_t pos = 0) const;
size_t find_first_of (const char* s, size_t pos, size_t n) const;
size_t find_first_of (char c, size_t pos = 0) const noexcept
substr(pos,n); 在str中从pos位置开始,截取n个字符,然后将其返回
data();将内容以字符数组的方式进行返回
[], at(); 存取单一字符
back();访问最后一个元素
front() ;访问第一个元素

插值 :insert

insert();
string& insert (size_t pos, const string& str);
string& insert (size_t pos, const string& str, size_t subpos, size_t sublen);
string& insert (size_t pos, const char* s);
string& insert (size_t pos, const char* s, size_t n);
string& insert (size_t pos, size_t n, char c);
iterator insert (const_iterator p, size_t n, char c);
iterator insert (const_iterator p, char c);
iterator insert (iterator p, InputIterator first, InputIterator last);
string& insert (const_iterator p, initializer_list<char> il)

替换字符:replace

replace();
string& replace (size_t pos, size_t len, const string& str);
string& replace (const_iterator i1, const_iterator i2, const string& str);
string& replace (size_t pos, size_t len, const string& str,
size_t subpos, size_t sublen);
string& replace (size_t pos, size_t len, const char* s);
string& replace (const_iterator i1, const_iterator i2, const char* s);
string& replace (size_t pos, size_t len, const char* s, size_t n);
string& replace (const_iterator i1, const_iterator i2, const char* s, size_t n);
string& replace (size_t pos, size_t len, size_t n, char c);
string& replace (const_iterator i1, const_iterator i2, size_t n, char c);
string& replace (const_iterator i1, const_iterator i2,
InputIterator first, InputIterator last);
string& replace (const_iterator i1, const_iterator i2, initializer_list<char> il)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值