string 容器
1、string的特性
char *是一个指针,string是一个类
string 封装了char *,管理这个字符串。
string 封装了很多使用的成员方法:查找find,拷贝copy,删除delete,替换replace,插入insert。
string可以和char *互转:
const char* strs = str->data();
const char* strs = str->c_str();
2、string初始化
string s1;//申请一个空对象
string s2("字符串")//初始化一个内容为字符串的string对象
string s3(n,‘字符‘)//初始化一个内容为n个字符的string对象
string s4(s2); //拷贝构造,将s2的内容赋值给s4
3、string赋值
s1 = "字符串" //s1赋值为字符串
s2.assign("字符串")//s2 赋值为字符串
4、string的取值
string提供了两个方法
string.data() string.c_str()返回const char *
获取单个字符
string s1;
s1[n] s1.at(n)
两者区别s1[n]下标越界的话直接导致程序崩溃,s1.at(n)下标越界的话会抛异常,可以用try catch捕捉该异常。
5、string的拼接操作
string &operator+=(const string &str) //重载+=操作符
string &operator+=(const char *str)//同上
string &operator+=(const char c)
string &append(const string &str)
string &append(const char *str)
string &append(const char *str,n)//拼接str前n个字符
string &append(const string &str, int begin, int n)//拼接str 从begin开始前n个字符
string &append(int n, char c)
6、string查找和替换
int find(const string &str, int pos = 0) const;//查找str第一次出现的位置
int find(const char *str ,int pos = 0)const;//查找str第一次出现的位置
int find(const char *str,int pos, int n)const;//查找str在前n个字符中出现的位置
int find(const char c,int pos = 0)const;//查找字符出现的位置
int rfind(const string &str, int pos = 0) const;//查找str最后一次出现的位置
int rfind(const char *str ,int pos = 0)const;//查找str最后一次出现的位置
int rfind(const char *str,int pos, int n)const;//查找str在前n个字符中最后一次出现的位置
int rfind(const char c,int pos = 0)const;//查找字符最后出现的位置
string &replace(int pos,int n,const string &str);//将s从pos开始的n个字符替换成str
string &replace(int pos,int n,const char *str);//将s从pos开始的n个字符替换成str
7、字符串的比较
int compare(const char *str)const;
int compare(const string str)const;//从第一个字符开始比较,大于返回1,等于返回0,小于返回-1
8、字符串子串
string substr(int pos,int n)//返回一个从pos开始的n个字符的子串
9、string的插入和删除
string &insert(int pos, const char *s);//插入字符
string &insert(int pos,const string &s);//插入字符
string &insert(int pos,int n, int c);//从pos 开始插入n个字符
string &earse(int pos,int n)//从pos开始删除n个字符
原文:https://www.cnblogs.com/flycc/p/12779583.html