資源描述:
《標(biāo)準(zhǔn)C中的string類的用法總結(jié)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、標(biāo)準(zhǔn)C卄中的string類的用法總結(jié)相信使用過MFC編程的朋友對CString這個類的印象應(yīng)該非常深刻吧?的確,MFC中的CString類使用起來真的非常的方便好用。但是如果離開了MFC框架,還有沒有這樣使用起來非常方便的類呢?答案是肯定的。也許有人會說,即使不用MFC框架,也可以想辦法使用MFC小的API,具體的操作方法在本文最后給出操作方法。其實(shí),可能很多人很可能會忽略掉標(biāo)準(zhǔn)C++中string類的使用。標(biāo)準(zhǔn)C++屮提供的string類得功能也是非常強(qiáng)人的,一般都能滿足我們開發(fā)項n時使用?,F(xiàn)將具體用法的一部分羅列如下,只起一個拋磚引玉的作川吧,好了,廢話少說,直接進(jìn)入正
2、題吧!要想使用標(biāo)準(zhǔn)C++中string類,必須要包含#include//注意是,不是,帶.h的是C語言中的頭文件usingstd::string;usingstd::wstring;或usingnamespacestd;卜?面你就可以使用string/wstring/,它們兩分別對應(yīng)著char和wchar_t。string和wstring的用法是一樣的,以下只用string作介紹:string類的構(gòu)造函數(shù):stringfconstchar*s);〃用c字符串s初始化stringfintn,charc);〃用n個字符c初始化
3、此外,string類還支持默認(rèn)構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù),如stringsi;strings2二"hello";都是正確的寫法。當(dāng)構(gòu)造的string太長而無法表達(dá)時會拋出length_error異常;string類的字符操作:constchar&operator[](intn)const;constchar&at(intn)const;char&operator[](intn);char&at(intn);operator]]和at()均返回當(dāng)詢字符串中第n個字符的位置,但at函數(shù)捉供范圍檢查,當(dāng)越界時會拋出out_of_range異常,下標(biāo)運(yùn)算符[]不提供檢查訪問。const
4、char*data()const;//返回一個非null終止的c字符數(shù)組constchar*c_str()const;//返回一個以null終止的c字符串intcopyfchar*szintn,intpos=0)const;//把當(dāng)前串中以pos開始的n個字符拷貝到以s為起始位置的字符數(shù)組中,返回實(shí)際拷貝的數(shù)目string的特性描述:intcapacity()const;〃返回當(dāng)前容量(即string中不必增加內(nèi)存即町存放的元素個數(shù))intmax_size()const;〃返回string對彖中町存放的最大字符串的長度intsize()const;〃返回當(dāng)前字符串的大小in
5、tlength()const;〃返冋當(dāng)前字符申的長度boolempty()const;〃當(dāng)前字符串是否為空voidresizefintlen,charc);〃把字符串當(dāng)前大小置為len,并用字符c填充不足的部分string類的輸入輸出操作:string類重載運(yùn)算符operator?Mj于輸入,同樣重載運(yùn)算符operator?用于輸出操作。函數(shù)getlinefistream&in,string&s);用于從輸入流in中讀取字符串至Os中,以換行符、rT分開。string的賦值:string&operator=(conststring&s);〃把字符串s賦給當(dāng)前字符串strin
6、g&assign(constchar*s);〃用c類型字符串s賦值string&assign(constchar*s,intn);〃用c字符串s開始的n個字符賦值string&assign(conststring&s);〃把字符串s賦給當(dāng)前字符串string&assign(intn,charc);〃用n個字符c賦值給當(dāng)前字符串string&assign(conststring&s,intstart,intn);〃把字符串s中從start開始的n個字符賦給當(dāng)前字符串string&assign(const_iteratorfirst,const_itertorlast);//把
7、first和last迭代器之間的部分賦給字符串string的連接:string&operator+=(conststring&s);〃把字符串s連接到當(dāng)前字符串的結(jié)尾string&append(constchar*s);〃把c類型字符串s連接到當(dāng)前字符串結(jié)尾string&append(constchar*s,intn);〃把c類型字符小s的前n個字符連接到當(dāng)前字符串結(jié)尾string&append(conststring&s);//
8、n)operator+=()string&append(conststring&s,