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)