一、头文件
#include <cstring>
二、初始化
string str:生成空字符串
string s(str):生成字符串为str的复制品
string s=str;
string s(str, strbegin,strlen):将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值
string s(cstr, char_len):以C_string类型cstr的前char_len个字符串作为字符串s的初值
string s(num ,c):生成num个c字符的字符串
string s(str, stridx):将字符串str中从下标stridx开始到字符串结束的位置作为字符串初值
eg:
string str1; //生成空字符串
string str2("123456789"); //生成"1234456789"的复制品string str2="123456789"; //这种写法也可以!!!!!!
string str3("12345", 0, 3);//结果为"123"
string str4("012345", 5); //结果为"01234"
string str5(5, '1'); //结果为"11111"
string str6(str2, 2); //结果为"3456789"
三、读入
1、用cin读入string类时,不会读入空格,换行符
2、而且无需用getchar将空格,换行符读了,因为string会在遇到非空格和换行符的时候才继续读入存到新的string里面
3、读取并忽略开头所有的空白字符(空格,换行符),读取字符直至再次遇到空白字符时停止读取
四、size()
string s;
//一些读取
s.size(); //一个表示s中字符个数的整数
六、push_back()
作用:在字符串之后插入一个字符
例: string name="cp";
name.push_back('r');
//那么name的结果就变成了“cpr”
七、find()
八、获取字符串的每个字符
依旧可以用下标法获取每个字符,前提是不越界!
若字符串还是空串,那就不能用下标法,不然相当于越界了!
九、多维字符串数组
例: string a[3]; //表示建立了三个字符串
//在非空串的情况下,a[i]依旧表示第i+1个字符串,a[i][j]依旧表示每个字符串的每个字符