string 型別在標頭檔案 string 內,定義在 std 命名空間中。
string s1;
string s2(s1); //拷貝初始化
string s2=s1; //同上
string s3("hello world "); //使用字面值初始化
string s4(10,'c'); //使用連續10個 c 初始化
getline(is,s); //從 is 中讀取一行賦給s,返回is
s.empty(); //判斷 s 是否為空
s.size(); //返回 s 中字元個數
s1+s1; //返回 s1 和s2 連線後的字串
s.find() //返回字串或字元在 s 中第一次出現的位置,如果沒找到返回string::npos
s.rfind() //逆序查詢
構造的其他方法:
string s(cp,n) //s是cp指向陣列中前n個字元的拷貝。此陣列至少應該包含n個字元
string s(s2,pos2) //s是string s2 從下標pos2開始的字元的拷貝
string s(s,pos2,len2) //拷貝len2個字元
substr操作:
substr(t) //拷貝從t後字元
substr(t,n) //拷貝從t後n個字元
改變string的方法:
s.insert(s.size(),5,'!'); //在s末尾插入5個感嘆號
s.erase(s.size()-5,5); //刪除最後5個字元
const char *cp="stately, plump buck";
s.assign(cp,7); //s=="stately"
s.insert(s.size(),cp+7); //s==*cp
replace(t,n,s) //在t處刪除n個字元,插入s
搜尋操作:
s.find(args) //查詢s中args第一次出現的位置
s.rfind(args) //查詢s中args最後一次出現的位置
s.find_first_of(args) //查詢s中args中任意乙個字元第一次出現的位置
s.find_last_of(args) //查詢最後一次位置
s.find_first_not_of(args) //查詢第一次沒出現的位置
s.find_last_not_of(args) //查詢最後一次沒出現的位置
args為 c,pos,n,c為字元或字串,pos為開始查詢的位置,預設為0,n為查詢前n個字元
比較操作
s1.compare(pos1,n1,s2,pos2,n2) //將s1中從pos1開始的n1個字元和s2中從pos2開始的n2個字元比較
to_string(val) //一組過載函式,返回val的string表示,val可以是任何算術型別
stoi(s,p,b) //返回s的起始子串的數值,b表示轉換所用基數,預設為10,p是size_t指標,用來儲存s中第乙個非數值字元的下表,p預設0。
string標準庫型別 C
c 中string的學習體會 string 1 不允許把兩個字串字面值連線起來,乙個string物件 字串字面值返回的是string物件.string size type只是string裡方便移植性的定義的一種型別 2 cout include using namespace std int mai...
C 標準庫string型別
c 組成 基本資料型別和抽象資料型別標準庫 只需知道抽象資料型別支援的操作而不需關心內部表示 命名空間兩種使用方法 using std name 和 using namespace std 標準庫string型別和字串字面值不是同一型別 具體區別?getline 函式 string line get...
C 標準庫string型別
標準庫的string型別 include include using namespace std 或者可以這樣 using std string using std cin using std cout int main 12.下標操作可用作左值 string str some string for...