| 函数名 | 描述 |
| begin | 得到指向字符串开头的Iterator |
| end | 得到指向字符串结尾的Iterator |
| rbegin | 得到指向反向字符串开头的Iterator |
| rend | 得到指向反向字符串结尾的Iterator |
| size | 得到字符串的大小 |
| length | 和size函数功能相同 |
| max_size | 字符串可能的最大大小 |
| capacity | 在不重新分配内存的情况下,字符串可能的大小 |
| empty | 判断是否为空 |
| operator[] | 取第几个元素,相当于数组 |
| c_str | 取得C风格的const char* 字符串 |
| data | 取得字符串内容地址 |
| operator= | 赋值操作符 |
| reserve | 预留空间 |
| swap | 交换函数 |
| insert | 插入字符 |
| append | 追加字符 |
| push_back | 追加字符 |
| operator+= | += 操作符 |
| erase | 删除字符串 |
| clear | 清空字符容器中所有内容 |
| resize | 重新分配空间 |
| assign | 和赋值操作符一样 |
| replace | 替代 |
| copy | 字符串到空间 |
| find | 查找 |
| rfind | 反向查找 |
| find_first_of | 查找包含子串中的任何字符,返回第一个位置 |
| find_first_not_of | 查找不包含子串中的任何字符,返回第一个位置 |
| find_last_of | 查找包含子串中的任何字符,返回最后一个位置 |
| find_last_not_of | 查找不包含子串中的任何字符,返回最后一个位置 |
| substr | 得到字串 |
| compare | 比较字符串 |
| operator+ | 字符串链接 |
| operator== | 判断是否相等 |
| operator!= | 判断是否不等于 |
| operator< | 判断是否小于 |
| operator>> | 从输入流中读入字符串 |
| operator<< | 字符串写入输出流 |
| getline | 从输入流中读入一行 |
1.字符串反序函数: reverse(iterator begin,iterator end); 头文件:<algorithm>
注:该函数对vector,list也适用。
样例代码:
string strA("helloworld"); //在该日志中只定义这一次
reverse(strA.begin(),strA.end());
2.将字符串内各字母排序
样例代码:
sort(strA.begin(),strA.end(),greater<char>());或 sort(strA.begin(),strA.end());
3.c_str 用法:
样例代码:
const char* strB;
strB=strA.c_str();
cout<<strB<<endl;
注:data用法与c_str 用法相同。
4.swap用法:
样例代码:
string strB("hello world");
strA.swap(strB);
5.insert用法:
string& insert ( size_t pos1, const string& str );
样例:
strA=strA.insert(2,strB);
string& insert ( size_t pos1, const string& str, size_t pos2, size_t n );
样例:
strA=strA.insert(2,strB,0,3);
void insert ( iterator p, size_t n, char c );
样例:
string::iterator it;
it=strA.begin()+1;
strA.insert(it,3,'A');
iterator insert ( iterator p, char c );
样例:
string::iterator it;
it=strA.insert(strA.begin()+1,'A');
strA.insert(it+2,strA.begin(),strA.end());
输出stA: aAlaAlgorithmgorithm
6. append和push_back:向字符串尾部插入元素
strA.append(int nTimes,char c);
strA.push_back(char c);
7.erase用法:
strA=strA.erase(int pos1,int pos2); 删除位置2到位置5的字符;
strA.erase(iterator itP); 删除itP所指向的字符;
strA.erase(iterator itP,iterator itP1); 删除itP和itP1之间的字符;
8.replace 用法:
string& replace ( size_t pos1, size_t n1, const string& str );
string& replace ( iterator i1, iterator i2, const string& str );
string& replace ( iterator i1, iterator i2, const char * s, size_t n2 );
string& replace ( iterator i1, iterator i2, const char * s );
string& replace ( iterator i1, iterator i2, size_t n2, char c );
样例代码:
strA.replace(2,5,strB);
9.resize用法
resize(int nSize,char cA); :字符串长度扩大到nSize,新增的字符都是cA
resize(int nSize); :字符串长度缩短到nSize.
10.rfind 用法
size_t rfind ( const string& str, size_t pos = npos ) const;
size_t rfind ( const char* s, size_t pos, size_t n ) const;
size_t rfind ( const char* s, size_t pos = npos ) const;
size_t rfind ( char c, size_t pos = npos ) const;
注:size_t表示位置,str是匹配目标字符串,npos是查找的最后位置(表示查找范围)
样例代码:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str ("The sixth sick sheik's sixth sheep's sick.");
string key ("sixth");
size_t found;
found=str.rfind(key);
if (found!=string::npos)
str.replace (found,key.length(),"seventh");
cout << str << endl;
return 0;
}
11.substr用法:
string substr ( size_t pos = 0, size_t n = npos ) const;
注: pos为被选字串的起始位置,npos为被选字串所含字符个数。
12.swap用法:
swap(string str); :母串与str交换内容,该函数无返回值。
本文详细介绍了C++标准库中字符串的各种操作方法,包括插入、替换、查找等功能,并提供了丰富的示例代码帮助理解。
3670

被折叠的 条评论
为什么被折叠?



