C 字串學習總結 (終)

2021-08-20 16:40:05 字數 1035 閱讀 6795

compare 函式

s.compare函式的幾種引數形式

s.compare(s2)//比較s和s2;

s.compare(pos1,n1,s2)//將s中從s1開始的n1個字元與s2進行比較

s.compare(pos1,n1,s2,pos2,n2)//將s中從pos1開始的n1個字元和s2中從pos2 開始的n2個字元進行比較。

s.compare(cp)//比較s和cp 指向的位址開始以空字元結尾的字元陣列

s.compare(pos1,n1,cp)//將s中pos1開始的n1個字元和cp 指向的位址開始以空字元結尾的字元陣列進行比較

s.compare(pos1,n1,cp,n2)//將s中以pos1開始的n1個字元和cp指向的位址開始以空字元結尾的字元陣列中n2個字元進行比較

數值轉換

string 和數值之間的轉換

to_string(val)//返回val 的string 表示。val可以是任何算術型別。對每個浮點型別和int 型別都有相應的to_string版本,小整型會被提公升

stoi(s,p,b);

stol(s,p,b);

stoul(s,p,b);

stoll(s,p,b);

stoull(s,p,b);

//返回s的起始子串的數值,返回型別分別是 int,long,unsigned long,long long,unsigned long long; b 表示轉換所用的基數,預設為10,。p是size_t指標,用來儲存s中第乙個非數值字元的下標,p預設為0,不儲存下標。

stof(s,p);

stod(s,p);

stold(s,p);

//返回子串的數值,返回型別分別為float,double,long double,引數p的作用同上。

note:如果string 不能轉換一組數值,這些函式丟擲乙個異常invalid_argument異常,如果轉換得到的數值無法用任何型別來表示,則丟擲out of range

C語言字串學習總結

字串 實質就是多個字串行,有多個字元組成 c語言中是沒有string這種型別的,通常在c中是用字元陣列來儲存字串的。字串可以看做乙個特殊的字元陣列,為了和普通的陣列分開,故在字串的尾部加上乙個結束標誌 0 0 是乙個ascii碼值為0的字元,是乙個空的操作符,表示什麼也沒有,所以採用字元陣列存放字串...

C 字串總結

字串 1.字串的建立與表示形式 string s1 this is a string string s2 new string a 4 aaaa char chfirst s1 2 i int count s2.length 4 注意 string 是unicode 字串,即每個英文本母佔兩個位元組...

C 之字串類學習總結

一 回顧c語言對字串的實現 一般我們在c語言要實現對字串操作的話,一般是採用字元陣列或者一組函式來實現的,為啥這樣做呢,那是因為c語言裡面根本就沒有字串型別的關鍵字 而且c語言也支援自定義型別,所以更加無法獲得字串型別 為了解決這個問題,在c 中,引入了自定義型別,而且可以通過類來完成對字串型別的定...