c++字串(string)的一些常用操作
1.string型別的定義與初始化
string s1; //定義一個字串s1,並初始化為空
string s2(s1);//用s1初始化s2
string s3(“value”);//將s3初始化為“value”
string s4(n,‘c’);//將s4初始化為字元‘c’的n個副本
2.string型別的操作
s.empty() //若s為空串,則返回true否則返回false
s.size() //返回s中字元的個數,s.length()用法與s.size()相同
s[n] //返回s中位置為n的字元
s1+s2 //把s1和s2連線成一個新的字串,返回新生成的字串
s1=s2 //把s1內容替換成s2的副本
s.insert(pos,s2) //在s下標為pos的元素前插入string型別s2
s.substr(pos,len) //返回一個string型別,它包含s中下標為pos起的len個字元
s.erase(pos,len) //刪除s中下標為pos開始的len個字元
s.replace(pos,len,s2) //刪除s中下標為pos的len個字元,並在下標為pos處插入s2
s.find(s2,pos) //在s中以pos位置起找查s2第一次出現的位置,若找不到則返回string::nops
s.c_str() //返回一個與s字面值相同的c風格的字串臨時指標
別的注意點
字串”+”操作符的左右運算元必須有一個為字串型別
string s1,s2;
s1=s2+”asdas” //合法
s1=”asd”+”sad” //非法
s1=s2+”asdas”+”asdasd” //合法
s1=”asdasd”+s2+”asda” //非法
將字串型別的變數轉化為數字:
string s1=”1234”,s2=”1111”;
int a,b;
sscanf(s1,c_str(),”%d”,&a);
sscanf(s2,c_str(),”%d”,&b);