C++ string容器
一、描述
string就是用起来很方便的已经封装好char*的字符串容器,string容器封装了许多的自带方法,非常方便
二、初始化
1、构造函数及=、+=重载初始化
- 直接声明并初始化
string str;
str="abcd";
- 复制粘贴另一个字符串(可为string可为char*)
string str1;
str1="asfd";
string str(str1);
string str1;
str1="asfd";
string str=str1;;
- n个字符c初始化
string str(100,'x');
- +=:str2字符串(字符)加到str1后
str1+=str2;
2、内置方法赋值初始化
- 复制粘贴整个字符串
str.assign(str1);
- 复制粘贴字符串的前n个
str.assign(str1,n);
- n个字符c
str.assign(10,'x');
三、获取
- 像数组一样用[]获取
char x=str[1];
- 用内置方法at类似[]
char x=str.at(i);
四、内置方法
1、append 拼接(类似+=)
- +=版append
str.append("asdf");
- 指定字符串前3个字符于串尾
str.append("asdf",3);
- 指定字符串特定位置m开始的n个字符于串尾
str.append("asdasdasdf",m,n);
2、find/rfind 查找
find
- 在str中从指定位置(不填则默认为0)开始找指定字符串(字符)第一次出现的位置,返回其下标
int pos=str.fing("asd",2);
- 在str中从指定位置m开始找指定字符串的前n个字符第一次出现的位置,返回其下标
int pos=str.fing("asd",m,n);
rfind
注:rfind就是将find的第一次出现全改为最后一次
- 在str中从指定位置开始找指定字符串(字符)最后一次出现的位置,返回其下标
int pos=str.rfing("asd",2);
- 在str中从指定位置m开始找指定字符串的前n个字符最后一次出现的位置,返回其下标
int pos=str.rfing("asd",m,n);
3、replace 替换
- 从m处开始的n个字符换为制定字符串
str.replace(2,2,"asdasd");
4、insert 插入
- 指定位置n插入字符串
str.insert(n,"asda");
- 指定位置n插入m个字符c
str.insert(n,m,'s');
5、erase 删除
- 删除位置pos开始的n(无则默认到结尾)个字符
str.erase(pos,n);
6、substr 子串
- 返回位置pos(无则默认0)开始的n(无则默认到结尾)个字符的字符串
str.substr(pos,n);
7、compare 比较
用ASCⅡ码比较
相等反0
大于反1
小于反-1
int x=str.compare(str1);