C 標準庫型別string

2022-08-30 07:39:09 字數 1677 閱讀 9492

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...