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