string可以说是是字符数组的升级版,使用更加啊方便,不容易出错。本文对string的常用函数进行简单介绍,做到会用即可。
string中的常用函数分为四类,即赋值,添加,比较和删除。
一、赋值
1.str="adf"
2.str.assign("adf");str.assign(str1);//将括号中的字符串赋值给str; str.assign(str1,1,4);//将str1的1-4赋值给strs; str.assign(5,'a');//将五个a赋值给str; str.assign("aff",4);//将”aff/0“,赋值给str
3.
二、添加
1.str.push_back('a'); //向str最后添加字符a,注意只能添加单个字符。
2.str.insert(2,"adf"); //插入函数,向str的第二个字符后插入adf
3.str+=“adf” //加个adf字符串
4.str.sppend("adf");//在最后加个字符串;
5.str.sppend(str1,1,3);//将str1的1-3位的字符加到str后面;
6.str.append(“abcd”,5);str.append(5,'x');同上,只是是在尾部插入
三、比较
1.C ++字符串支持常见的比较操作符(>,>=,<,<=,==,!=),甚至支持string与C-string的比较(如 str<”hello”)。在使用>,>=,<,<=这些操作符的时候是根据“当前字符特性”将字符按字典顺序进行逐一得 比较。字典排序靠前的字符小,比较的顺序是从前向后比较,遇到不相等的字符就按这个位置上的两个字符的比较结果确定两个字符串的大小。同时,string (“aaaa”) <string(aaaaa)。
2.compare函数比较
string str(“abcd”);
str.compare(“abcd”); //str和“abcd”比较,相同返回0
str.compare(“dcba”); //返回一个小于0的值
str.compare(“ab”); //返回大于0的值
str.compare(s); //相等,返回0
str.compare(0,2,str,2,2); //用str从0开始的两位和str从2开始的两位比较,返回小于0的数
str.compare(1,2,”bcx”,2); //用”bc”和”bc”比较,返回0
以上都是按照字典顺序比较
str1.find(str2)比较包含关系,如果str2不是str1的子串返回值为string::npos
四、删除
1、清空
str.clear();str.erase();
2、从指定位置删除
str.erase(13);//从13位开始往后全删除
str.erase(7,5);//从7位开始往后删5个
还有个替换函数
str.replace(1,2,”asdf”);//将1位开始的2个替换成asdf