string构造函数
string s1; //默认构造
const char* str = "hello world";
string s2(str); // 使用字符串s初始化
string s3(s2); // 拷贝构造
string s4(10, 'a'); //n个字符
string赋值操作
string& operator=(const char* s);
string& operator=(const string &s);
string& operator=(char c);
string& assign(const char* s);
string& assign(const char* s, int n); // 前n个字符赋值给当前的字符串
string& assign(const string &s);
string& assign(int n, char c);
string字符串拼接
string& operator+=(const char* s);
string& operator+=(const char c);
string& operator+=(const string &s);
string& append(const char* s);
string& append(const char* s, int n); // 前n个字符拼接道当前的字符串结尾
string& append(const string &s);
string& append(const string &s, in pos, int n);
从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 // 从pos位置查找字符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);
string字符串比较
按字符的ASCII码进行对比
- == 返回 0
- > 返回 1
- < 返回 -1
int compare(const string &s) const; // 与字符串s比较
int compare(const char *s) const;
string字符存取
char& operator[](int n);
char& at(int n);
string插入和删除
string& insert(int pos, const char* s);
string& insert(int pos, const string& str);
string& insert(int pos, int n, char c); // 在指定位置插入n个字符c
string& erase(int pos, int n = npos); // 删除从Pos开始的n个字符
string获取子串
string substr(int pos = 0, int n = npos) const;