1.string容器
要包含头文件<string>
string对象的初始化
//c++中单引号表示字符型;双引号表示字符串类型 string s1 (8,‘x‘); //表示8个x ,只能表示字符型,不能表示字符串类型 string error1 (8,"x"); string month = "March"; string s2("March"); //只能对初始化字符串类型 ,字符和数字是不可以的 string error2 (‘x‘); string error3 (‘1‘); //若改为字符串类型即可
//或将字符类型复制给string对象也可以
string s;
s = ‘n‘;
string对象的长度计算
cout<< s.size() << endl;
cout<< s.length() << endl;
string支持流读运算符和getline函数
string s; cin >> s; //遇到空格 回车 Tab 停止 string ss; getline(cin,ss);
string的赋值与链接
string s1("cat"),s2; s2=s1;
用assign成员函数赋值
tring s5("hernt"),s6; s6.assign(s5,4,3); //从下标为1(下标从0开始)开始3个字符赋值给s6,若超出长度则只到末尾
单个字符的复制
s2[5]=s1[3]=‘a‘;
逐个访问string对象的字符(两种方法)
for(int i=0;i<s1.length();i++){ cout<< s1[i] << endl; } //不做范围检查,速度要快一点 for(int i=0;i<s1.length();i++){ cout<< s1.at(i) << endl; } //成员函数at会做范围检查,若超出范围,会抛出out_of_range异常(暂时还没有学到)
用+运算符连接字符串
string s1("hello"),s2("world"); s1+=s2;
用成员函数 append 连接字符串
string s1("hello"),s2("world"); s1.append(s2); s2.append(s1,3,s1.size( ));// 把s1从3开始的s1.size()个字符复制到s2中,若没有足够的,则复制到最后一个
比较string
用关系运算符比较string的大小
string s1("hello"),s2("hello"),s3("hell"); bool b=(s1==s2); cout << b <<endl; b=(s1==s3); cout << b << endl; b=(s1>s3); cout << b << end
原文:https://www.cnblogs.com/TTXXCC/p/14290392.html