小旗的調戲字串之路就此開始
//總結給自己看的blog,可能總結的不太全面,希望不要介意,部分引用了些大佬的總結,權侵刪。
字串
使用字串需先加入string標頭檔案,並開啟名字空間
#inlcudeusing namespace std;
str.erase(a,b) //刪除從a開始刪除b個字元
str.erase(a) //只留前a個字元
sort(s2.begin(),s2.end())
str.length() //返回str的長度
str.empty() //是返回1,否返回0
s1=s2.substr(a,b) //在s2中,從a開始取b個字元,放到s1中
s1=s2.substr(a) //在s2中,返回從a到結尾的字串
//不改變原字串
//find函式在找不到指定值得情況下會返回string::npos
//string::npos 表示該型別能達到的最大值,也就是結束值
s2.find(s1) //在s2中找s1的值,若匹配返回查詢到的第乙個位置,否則返回npos
s2.find(s1,p) //從p點開始查詢匹配的字元,其他與find一致
s2.rfind(s1) //從s2的尾開始找匹配s1的字串,若找到返回找到的字串在s2的首位置
s2.rfind(s1,p) //從s2的p位置往前匹配,若匹配,返回找到的字串在s2的首位置
such as :string s1="assdfsfd",s2="fd";
s1.rfind(s2)=6;
std::string str="to be question";
std::string str2="the ";
std::string str3="or not to be";
std::string::iterator it;
// used in the same order as described above:
str.insert(6,str2); // to be (the )question
str.insert(6,str3,3,4); // to be (not )the question
str.insert(10,"that is cool",8); // to be not (that is )the question
str.insert(10,"to be "); // to be not (to be )that is the question
str.insert(15,1,':'); // to be not to be(:) that is the question
it = str.insert(str.begin()+5,','); // to be(,) not to be: that is the question
str.insert (str.end(),3,'.'); // to be, not to be: that is the question(...)
str.insert (it+2,str3.begin(),str3.begin()+3); // (or )
---------------------
原文:
字串流
需加入標頭檔案
#include
stringstream ss;
string s1;
int a;
cin>>s1; //輸入字串,遇行暫停
getline(cin,s1) //讀入整行串
ss>>s1;
C string 字串函式
december 8,2012 程式設計指南 和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include intmain stri...
C string 字串函式詳解
december 8,2012 程式設計指南 和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include intmain stri...
C string 字串函式詳解
和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include int main string str cin str str.fin...