1、需包含的命令
# include<string>
using namespace std;
构造类函数
1、构造字符串
<1>构造一个空的字符串对象-------------------------------string s1
<2>创建一个str副本----------------------------------------string s2("SAFDSGDS");
<3>创建str中从pos开始长度为npos的子对象--------------string s4(s1,9,8);
<4>创建str中前n个字符的子序列---------------------------string("sadfdsgssd",4); 或 string(s1,5);
<5>创建一个字符串对象,其值为指针s指向的字符串---------char *p = "dfsd";string s2(p);
<6>创建一个长度为n字符为c的子序列----------------------string s6(10,'C');
<7>创建一个由start和end迭代器指定的字符 集的字符串对象---------string s8(s1.begin(),si.begin()+8)
2、operator=函数-------------------s1 = s2; 或 s1='A';
3、+ 运算符函数-------------作用是将rns连接在lns 后面 rns+lns
4、== != < > <= >= 比较函数-------------------式子成立返回true 不成立 返回false
5、[]运算符---------------返回string中某一位置对应的字符--------s[0]、s[1]
6、at函数--------作用与[]函数一样,只是会自动检查是否越界,不越界返回对应字符,越界抛出异常--------s.at(1);
迭代器函数--begin、end、rbegin、rend
容量类函数--size和length、max_size、resize、empty
1、reverse-----作用是请求为string对象预留大小为res_arg的内存空间-----------s.reverse(25);
2、capacit函数-------作用是返回分配的存储空间大小----s.capacity();---------------系统分配的存储空间大于等于字符串长度
操作类函数
1、insert函数
迭代器的声明: string::iterator it;
<1>第一个函数的作用是在当前字符串对象的第pos1位置上插入字符串str---------s.insert()
<2>第二个函数的作用是在当前字符串对象的第pos1位置插入字符串str的一部分,插入的部分从str的第pos2位置开始的n个字符
<3>第三个函数的作用是在当前字符串对象的第pos1位置插入字符串s的前n个字符
<4>第四个函数的作用是在当前字符串对象的第pos1位置插入字符串s
<5>第五个函数的作用是在当前字符串对象的第pos1位置插入n个字符c
<6>第六个函数的作用是在当前字符串对象的迭代器p指向的位置插入字符c
<7>第七个函数的作用是在当前字符串对象的迭代器p指向的位置插入n个字符c
<8>第八个函数的作用是在当前字符串对象的迭代器p指向的位置插入部分字符,这些字符从迭代器first开始到迭代器last结束