本质:
string是C++风格的字符串,而string本质上是一个类
string和char的区别:
char是一个指针,string是一个类,内部封装了char,管理这个字符串,是一个char的容器。
string构造函数:
string();
创建一个空字符串
string(const char* s);
使用字符串s初始化
string(const string& str);
拷贝构造
string(int n,char c);
使用n个字符c初始化
string赋值操作:赋值函数原型
string& operator=(const char* s);
char*字符串赋值给当前字符串
string& operator=(const string& s);
把字符串s赋值给当前字符串
string& operator=(char c);
把字符串赋值给当前字符串
string& assign(const char* s);
把字符串s赋值给当前字符串
string& assign(const char* s,int n);
把s的前n个字符赋值给当前字符串
string& assign(const string& s);
把字符串s赋值给当前字符串
string& assign(int n,char c);
用n个字符c赋给当前字符串
string字符串拼接:函数原型
string& operator+=(const char* s);
重载+=运算符
string& operator+=(const char c);
string& operator+=(const string& s);
string& append(const char* s);
将字符串s连接到当前字符串结尾
string& append(const char* s,int n);
把字符串s的前n个字符连接到当前字符串结尾
string& append(const string& s);
string& append(const string& s,int pos,int n);
字符串s中从pos(包含第pos个字符)
开始的n个字符连接到当前字符串结尾
string查找和替换:
int find(const string& str,int pos=0)const;
查找str第一次出现的位置,从pos开始查找
int find(const char* s,int pos=0)const;
查找s第一次出现的位置,从pos开始查找
int find(const char* s,int pos,int n)const;
从pos位置查找s前n个字符第一次出现的位置
int find(const char c,int pos=0)const;
查找字符c第一次出现的位置
int rfind(const string& str,int pos=npos)const;
查找str最后一次出现的位置,从pos开始查找
int rfind(const char* s,int pos=npos)const;
查找s最后一次出现的位置,从pos开始查找
int rfind(const char* s,int pos,int n)const;
从pos查找s前n个字符最后一次出现的位置
int rfind(const char c,int pos=0)const;
查找字符c最后一次出现的位置
string& replace(int pos,int n,const string& str);
从pos开始替换n个字符为字符串str
string& replace(int pos,int n,const char* s);
从pos开始替换n个字符为s
string字符串比较:按ASCII码值
= 返回0; > 返回1; < 返回-1;
int compare(const char* s)const;
int compare(const string& )const;
string字符存取:
char& operator[] (int n);
char& at(int n);
string插入与删除:
string& insert(int pos,const char* s);
string& insert(int pos,const string& s);
string& insert(int pos,int n,char c);
//在指定位置插入n个字符c
string& erase(int pos,int n=npos);
// 删除从pos开始的字符串
string字串:
string substr(int pos=0,int n=npos)const;
返回由pos开始的n个字符构成的字符串