目录
1.使用:
2.定义
3.访问(两种方式)
(1)通过下标访问(像字符数组那样)
(2)通过迭代器访问
4.常用函数
(1)operator+=:string的加法,将两个string直接拼接起来
(2)compare operator:两个string类型可以直接使用==、!=、<、<=、>、>=比较大小,比较规则是字典序(a,以此类推)。<>
(3)length()/size():返回存放的字符数,O(1)
(4)insert():插入
①insert(pos,string):
②insert(it, it2, it3):
(5)erase():删除,O(N)
①str.erase(it):删除单个元素
②删除一个区间内的元素(两种方法)
i. str.erase(first, last),
ii. str.erase(pos, length),
(6)clear():清空字符串,O(1)
(7)substr(pos, len):返回从pos号位开始,长度为len的子串,O(len)
(8)find():查找
(9)replace():替换
1.使用:
#include<string>+using namespace std;
注:和string.h是有区别的哦
2.定义
例:string str(=“abcd”);
3.访问(两种方式)
(1)通过下标访问(像字符数组那样)
例1:利用for循环输出
例2:读入或输出整个字符串,只能用cin和cout
例3:非要用printf来输出整个字符串,需要用到函数c_str(),将string转换为字符数组来输出
(2)通过迭代器访问
①定义:string::iterator it;
②访问:*it
注:它和vector一样,支持直接对迭代器进行加减某个数字,如str.begin()+3是可行的。
例:
③说明:
str.begin():指向字符串的第一个字符的位置
str.end():指向字符串的最后一个字符的后一个位置;
++是向后运动,--是向前移动
str.rbegin():指向字符串的最后一个字符的位置;
str.rend():指向第一个字符串的前一个位置;
--是向后运动,++是向前移动
例:
string str = "1234";
cout << *str.rbegin() << endl;
cout << *str.begin() << endl;
cout << *--str.rend() << endl;
cout << *--str.end() << endl;
结果:4 1 1 4
参考博客:
be