C/C++ - String 用法與心得完全攻略

文章推薦指數: 80 %
投票人數:10人

一、String 簡介. string 是一個保存char 的序列容器,把字串的記憶體管理責任交由string 負責而不是programmer,減輕 ... Pages Home About Contact skiptomain| skiptosidebar 2015年7月23日星期四 C/C++-String用法與心得完全攻略 於 7/23/201511:55:00下午 標籤: SoftwareDevelopment-C/Cpp   一、String簡介 string是一個保存char的序列容器,把字串的記憶體管理責任交由string負責而不是programmer,減輕了C語言風格字串的麻煩,使用前預先#include即可。

String的特色 提供了大量的字串操作函式。

可與C語言風格字串雙向轉換。

二、成員函式介紹 stringoverload許多operator,包括+、+=、>等,這些operator對字串操作非常方便,因此assign()、append()、compare()等函數,除非一些特殊需求,不然一般是用不上。

儘量使用operator,這樣可以讓程序更加易懂。

常用方法 賦值=:將字串指定給另一個字串。

相等比較==:比較兩個字串的字元內容是否相同。

串接字串+:直接使用+運算子來串接字串。

存取字符[]、str.at():如字元陣列的操作,at帶邊界檢查。

字串長度str.size():字串長度。

字串為空str.empty():字串是否為空 字串長度str.length():字串的長度。

[用心去感覺]串接 operator + 只要等式裡有一個string,就可以一直連續用stringoverload的+功能。

(需要注意的是,在開始的兩項中必須有一項是string,不然compiler在解語法樹的時候會出錯。

) [用心去感覺]賦值 operator = 可以將一個C-Style的字串指定給string,但不能將一個string指定給char陣列。

[用心去感覺] 存取operator [],str.at() 講究效率,使用[],講究穩定性,使用at()。

進階用法 assign(str,start,num):從str的第start個字元取出num個字元來指定給另一字串物件。

append(str,start,num):從str的第start個字元取出num個字元來附加至另一字串物件之後。

find(str,0):從引發find()的字串物件中第0個字元尋找是否有符合str的子字串。

insert(start,str):將str插入引發insert()的字串物件第start個字元之後。

[用心去感覺]find()錯誤返回 basic_string::npos basic_string::npos staticconstsize_typenpos=-1; npos是一個常數,表示size_t的最大值。

許多容器都有提供,用以表示不存在的位置。

三、常用的string程式寫法 #include #include usingnamespacestd; intmain(){ stringstr1; stringstr2("caterpillar"); stringstr3(str2); //assign:指定字串 str1=str1.assign(str2,0,5); cout<



請為這篇文章評分?