c++ string类的一些使用

初始化: string类的初始化是不可以用字符进行的,如; string str='c'; string str('c');
必须传递字符串字面量作为参数;
string本身是用模板类进行实例化的类。

string 类是变长度的 用length()方法返回对象的长度,同时string类不同于c语言中char 数组,最后没有\0结尾,若想变换,则使用c_str方法,该方法返回一个char数组类型的字符串.同样可以用下标访问【】类似字符数组.或者使用方法at();
比如 str.at(i)='c'; str[i]='c';//但是使用中括号不会判断是否越界访问,但是at()方法可以判断是否发生越界,但是at()要慢一点,要检查。

assign成员函数:
string s1("cat"),s3;
s3.assign(s1); //把s1复制给s3;
s3.assign(s1,1,3);//从s1中下标为一的字符开始复制s1中长度为三的字符串到s3中

append():
可以正常连接字符串或者类似assign中可以进行指定长度和开头的字符串复制后连接到后面
s1.append(s2);
s2.append(s1,3,s1.size());//从下标为三开始s1.size()个字符,如果字符串内没有足够数目则复制到最后一个字符连接到s2尾部。
compare();
s1.compare(s2);//if s2.length()<s1.length(),return 1;
if s2.length()==s1.length(),return 0; if s2.length()>s1.length(),return -1;
也可以比较两个字符串之间的一部分.
substr():
s1.substr(0,4);//从下标为0开始,长度为4个字符取得一个子串返回.
swap():
s1.swap(s2);//exchange the context between the two string.

 

 

猜你喜欢

转载自www.cnblogs.com/zy1120192493/p/12739733.html