C++_String_類字符串操作_第1頁
C++_String_類字符串操作_第2頁
C++_String_類字符串操作_第3頁
C++_String_類字符串操作_第4頁
C++_String_類字符串操作_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、string類的構(gòu)造函數(shù):string(const char *s); /用c字符串s初始化string(int n,char c); /用n個字符c初始化此外,string類還支持默認(rèn)構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù),如string s1;string s2="hello";都是正確的寫法。當(dāng)構(gòu)造的string太長而無法表達(dá)時會拋出length_error異常 string類的字符操作:const char &operator(int n)const;const char &at(int n)const;char &operator(int n);char

2、&at(int n);operator和at()均返回當(dāng)前字符串中第n個字符的位置,但at函數(shù)提供范圍檢查,當(dāng)越界時會拋出out_of_range異常,下標(biāo)運算符不提供檢查訪問。const char *data()const;/返回一個非null終止的c字符數(shù)組const char *c_str()const;/返回一個以null終止的c字符串int copy(char *s, int n, int pos = 0) const;/把當(dāng)前串中以pos開始的n個字符拷貝到以s為起始位置的字符數(shù)組中,返回實際拷貝的數(shù)目 string的特性描述:int capacity()const; /返

3、回當(dāng)前容量(即string中不必增加內(nèi)存即可存放的元素個數(shù))int max_size()const; /返回string對象中可存放的最大字符串的長度int size()const; /返回當(dāng)前字符串的大小int length()const; /返回當(dāng)前字符串的長度bool empty()const; /當(dāng)前字符串是否為空void resize(int len,char c);/把字符串當(dāng)前大小置為len,并用字符c填充不足的部分 string類的輸入輸出操作:string類重載運算符operator>>用于輸入,同樣重載運算符operator<<用于輸出操作。函數(shù)ge

4、tline(istream &in,string &s);用于從輸入流in中讀取字符串到s中,以換行符'n'分開。 string的賦值:string &operator=(const string &s);/把字符串s賦給當(dāng)前字符串string &assign(const char *s);/用c類型字符串s賦值string &assign(const char *s,int n);/用c字符串s開始的n個字符賦值string &assign(const string &s);/把字符串s賦給當(dāng)前字符串string

5、 &assign(int n,char c);/用n個字符c賦值給當(dāng)前字符串string &assign(const string &s,int start,int n);/把字符串s中從start開始的n個字符賦給當(dāng)前字符串string &assign(const_iterator first,const_itertor last);/把first和last迭代器之間的部分賦給字符串 string的連接:string &operator+=(const string &s);/把字符串s連接到當(dāng)前字符串的結(jié)尾 string &appen

6、d(const char *s); /把c類型字符串s連接到當(dāng)前字符串結(jié)尾string &append(const char *s,int n);/把c類型字符串s的前n個字符連接到當(dāng)前字符串結(jié)尾string &append(const string &s); /同operator+=()string &append(const string &s,int pos,int n);/把字符串s中從pos開始的n個字符連接到當(dāng)前字符串的結(jié)尾string &append(int n,char c); /在當(dāng)前字符串結(jié)尾添加n個字符cstring &am

7、p;append(const_iterator first,const_iterator last);/把迭代器first和last之間的部分連接到當(dāng)前字符串的結(jié)尾 string的比較:bool operator=(const string &s1,const string &s2)const;/比較兩個字符串是否相等運算符">","<",">=","<=","!="均被重載用于字符串的比較;int compare(const string &s)

8、 const;/比較當(dāng)前字符串和s的大小int compare(int pos, int n,const string &s)const;/比較當(dāng)前字符串從pos開始的n個字符組成的字符串與s的大小int compare(int pos, int n,const string &s,int pos2,int n2)const;/比較當(dāng)前字符串從pos開始的n個字符組成的字符串與s中pos2開始的n2個字符組成的字符串的大小int compare(const char *s) const;int compare(int pos, int n,const char *s) cons

9、t;int compare(int pos, int n,const char *s, int pos2) const;compare函數(shù)在>時返回1,<時返回-1,=時返回0 string的子串:string substr(int pos = 0,int n = npos) const;/返回pos開始的n個字符組成的字符串 string的交換:void swap(string &s2); /交換當(dāng)前字符串與s2的值 string類的查找函數(shù): int find(char c, int pos = 0) const;/從pos開始查找字符c在當(dāng)前字符串的位置int fin

10、d(const char *s, int pos = 0) const;/從pos開始查找字符串s在當(dāng)前串中的位置int find(const char *s, int pos, int n) const;/從pos開始查找字符串s中前n個字符在當(dāng)前串中的位置int find(const string &s, int pos = 0) const;/從pos開始查找字符串s在當(dāng)前串中的位置/查找成功時返回所在位置,失敗返回string:npos的值 int rfind(char c, int pos = npos) const;/從pos開始從后向前查找字符c在當(dāng)前串中的位置int r

11、find(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;/從pos開始從后向前查找字符串s中前n個字符組成的字符串在當(dāng)前串中的位置,成功返回所在位置,失敗時返回string:npos的值 int find_first_of(char c, int pos = 0) const;/從pos開始查找字符c第一次出現(xiàn)的位置int find_first_of(con

12、st char *s, int pos = 0) const;int find_first_of(const char *s, int pos, int n) const;int find_first_of(const string &s,int pos = 0) const;/從pos開始查找當(dāng)前串中第一個在s的前n個字符組成的數(shù)組里的字符的位置。查找失敗返回string:npos int find_first_not_of(char c, int pos = 0) const;int find_first_not_of(const char *s, int pos = 0) con

13、st;int find_first_not_of(const char *s, int pos,int n) const;int find_first_not_of(const string &s,int pos = 0) const;/從當(dāng)前串中查找第一個不在串s中的字符出現(xiàn)的位置,失敗返回string:npos int find_last_of(char c, int pos = npos) const;int find_last_of(const char *s, int pos = npos) const;int find_last_of(const char *s, int

14、pos, int n = npos) const;int find_last_of(const string &s,int pos = npos) const; int find_last_not_of(char c, int pos = npos) const;int find_last_not_of(const char *s, int pos = npos) const;int find_last_not_of(const char *s, int pos, int n) const;int find_last_not_of(const string &s,int pos

15、 = npos) const;/find_last_of和find_last_not_of與find_first_of和find_first_not_of相似,只不過是從后向前查找 string類的替換函數(shù): string &replace(int p0, int n0,const char *s);/刪除從p0開始的n0個字符,然后在p0處插入串sstring &replace(int p0, int n0,const char *s, int n);/刪除p0開始的n0個字符,然后在p0處插入字符串s的前n個字符string &replace(int p0, int

16、 n0,const string &s);/刪除從p0開始的n0個字符,然后在p0處插入串sstring &replace(int p0, int n0,const string &s, int pos, int n);/刪除p0開始的n0個字符,然后在p0處插入串s中從pos開始的n個字符string &replace(int p0, int n0,int n, char c);/刪除p0開始的n0個字符,然后在p0處插入n個字符cstring &replace(iterator first0, iterator last0,const char *s

17、);/把first0,last0)之間的部分替換為字符串sstring &replace(iterator first0, iterator last0,const char *s, int n);/把first0,last0)之間的部分替換為s的前n個字符string &replace(iterator first0, iterator last0,const string &s);/把first0,last0)之間的部分替換為串sstring &replace(iterator first0, iterator last0,int n, char c);/把

18、first0,last0)之間的部分替換為n個字符cstring &replace(iterator first0, iterator last0,const_iterator first, const_iterator last);/把first0,last0)之間的部分替換成first,last)之間的字符串 string類的插入函數(shù): string &insert(int p0, const char *s);string &insert(int p0, const char *s, int n);string &insert(int p0,const s

19、tring &s);string &insert(int p0,const string &s, int pos, int n);/前4個函數(shù)在p0位置插入字符串s中pos開始的前n個字符string &insert(int p0, int n, char c);/此函數(shù)在p0處插入n個字符citerator insert(iterator it, char c);/在it處插入字符c,返回插入后迭代器的位置void insert(iterator it, const_iterator first, const_iterator last);/在it處插入fir

20、st,last)之間的字符void insert(iterator it, int n, char c);/在it處插入n個字符c string類的刪除函數(shù) iterator erase(iterator first, iterator last);/刪除first,last)之間的所有字符,返回刪除后迭代器的位置iterator erase(iterator it);/刪除it指向的字符,返回刪除后迭代器的位置string &erase(int pos = 0, int n = npos);/刪除pos開始的n個字符,返回修改后的字符串 string類的迭代器處理: string類提供了向前和向后遍歷的迭代器iterator,迭代器提供了訪問各個字符的語法,類似于指針操作,迭代器不檢查范圍。用string:iterator或string:const_iterator聲明迭代器變量,const_iterator不允許改變迭代的內(nèi)容。常用迭代器函數(shù)有:const_iterator begin()c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論