C++进阶STL-String容器
string初始化
- string s1;//无参构造
- string s2(10, ‘a’); //10个a
- string s3(“julian”); //c style
- string s4(s3);//拷贝构造
string的赋值
- s1=”julian”;
- s1= ’j’ ;
- s1=s2; //等号操作符重载
- s1.assign(“julian”);//使用成员方法
- string &assign(const char *s,int n);// s开始的n个字符赋值
- string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串
string的取值
- s1[100] : 如果越界,直接挂掉,不会抛出异常
- s1. at(100) :如果越界,抛出out of rang 的异常
string的拼接操作
- 重载+=操作符
string& operator+=(const string& str)
string& operator+=(const char* s)
string& operator+=(const char c) - 重载append方法
string& append (const char* s) //把s连接到当前字符串的尾部
string& append (const char* s,int n) //把s的前n个字符连接到当前字符串的尾部
string& append (const string& str) //同+=
string& append (const string& str, int pos, int n) //把str从pos开始的n个字符连接到当前字符串的尾部
string& append (int n, char c); //在字符串后添加 n个c
string的查找替换
- 查找
find(字符c/字符串s,起始位置,字符串s前n个字符) 从前往后找
rfind() 从后往前找 - 替换
string& replace(int pos, int n, const string& str);//从pos开始的n个字符替换成str
string& replace(int pos, int n, const char* str);
string的比较
- compare(字符串s) //按照ascii码逐个比较 。>返回1,<返回-1,==返回0
string的截取
- string substr(int pos, int n) const //返回从pos开始的n个字符组成的字符串
string的插入和删除
- 插入
Insert(int pos, 字符串) //
Insert(int pos, int n, char c) // 从pos开始 插入n个c - 删除
erase(int pos,int n) //删除从pos开始的n个字符
string的交换
- void swap(string &s2); //交换当前字符串与s2的值
string的转换
- char* -> string 以 char* 参数 做string构造函数的参数
- String -> char*
string.c_str()方法
string str1=”julain”;
const char* str2= str1.c_str();
还没有评论,来说两句吧...