C++string類(lèi)庫(kù)函數(shù)筆記

一、追加,插入,刪除,替換
string s ;
getline(cin,s);? //input:ABCDEFG?
s.append("ABC" ); //末尾追加ABCDEFGABC
s.insert(7,"abc ");//給定起始位置插入內(nèi)容ABCDEFGabcABC
s.erase(7,3); //給定起始位置,刪除指定長(zhǎng)度的內(nèi)容(s[7],s[8],s[9])ABCDEFGABC
s.replace(7,2,"aaaa");//給定起始位置,給定長(zhǎng)度,用給定內(nèi)容替換ABCDEFGaaaaC
二、查找
string s1;
unsigned found = s.find(s1); //返回找到子串的起始位置??
if (found!=string::npos) //默認(rèn)設(shè)置:字符串的結(jié)束位置
cout << "first " << s1 <<" found at: " << found ;??
found=s.find(s1,found+1);//從未查找過(guò)的位置開(kāi)始下一次查找
if (found!=string::npos)? ??
cout << "second " << s1 <<" found at: " << found;
三、獲取子串
string s2 = s.substr (2,3);//給定起始位置,給定長(zhǎng)度,截取子串CDE
四、運(yùn)算符操作= + == !=
string account1;? ??
account1 = "zhangsan";? ??
string server = "qq.com";? ??
cout << account1 + "@" + server << endl;? ? ?
string newaccount ;? ? ??
getline(cin,newaccount);? ??
if(newaccount != account1) { cout<<“false"; }? ??
五、交換
string s1(“ABC”);
string s2(“BCD”);
Swap(s1,s2);//s1=”BCD”,s2=”ABC”
//或:swap(s1[0],s1[1]);//s1=”BAC”
六、獲取長(zhǎng)度
s.size();//返字符串的長(zhǎng)度。
s.length();//返回字符串的長(zhǎng)度。
七、其他函數(shù)
s.max_size();//返回字符串的最大大小。
s.capacity();//返回已分配存儲(chǔ)的大小。
s.clear();//清除字符串。
s.empty();//測(cè)試字符串是否為空。