C++提高-STL-string

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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容