標(biāo)準(zhǔn)c++中String類非常強(qiáng)大,合理使用,能極大提高編程效率,下面就對string類的用法進(jìn)行總結(jié)。 頭文件 #include<string> String類的構(gòu)造函數(shù)如下:1) string s; //生成一個空字符串s 2) string s(str) //拷貝構(gòu)造函數(shù)生成str的復(fù)制品 3) string s(str,index) //將字符串str內(nèi)“始于位置index”的部分當(dāng)作字符串的初值 4) string s(str,index, n) //將字符串str內(nèi)“始于index且長度頂多n”的部分作為字符串的初值 5) string s(cstr) //將C字符串作為s的初值 6) string s(chars,chars_len) //將C字符串前chars_len個字符作為字符串s的初值。 7) string s(n,c) //生成一個字符串,包含n個c字符 8) string s(str.begin(),str.end()) //以區(qū)間begin():end() (不包含end())內(nèi)的字符作為字符串s的初值
String類常用的操作函數(shù)之后會對相關(guān)函數(shù)進(jìn)行講解,如果不想將下面操作函數(shù)全部看完,大伙可以找自己感興趣的函數(shù)看。 1) =,assign() //賦以新值 2) swap() //交換兩個字符串的內(nèi)容 3)+=,append(),push_back() //在尾部添加字符 4) insert() //插入字符 5) erase() //刪除字符 6) clear() //刪除全部字符 7) replace() //替換字符 8) + //串聯(lián)字符串 9)==,!=,<,<=,>,>=,compare() //比較字符串 10)size(),length() //返回字符數(shù)量 11) max_size() //返回字符的可能最大個數(shù) 12) empty() //判斷字符串是否為空 13) capacity() //返回重新分配之前的字符容量 14) reserve() //保留一定量內(nèi)存以容納一定數(shù)量的字符 15) [ ], at() //存取單一字符 16)>>,getline() //從stream讀取某值 17) << //將謀值寫入stream 18) copy() //將某值賦值為一個C_string 19) c_str() //將內(nèi)容以C_string返回 20) data() //將內(nèi)容以字符數(shù)組形式返回 21) substr() //返回某個子字符串 22)查找函數(shù) 23)begin() end() //提供類似STL的迭代器支持 24) rbegin() rend() //逆向迭代器 25) get_allocator() //返回配置器 字符串添加
字符的遍歷
字符的刪除1)iterator erase(iterator p);//刪除字符串中p所指的字符 2)iterator erase(iterator first, iterator last);//刪除字符串中迭代器 區(qū)間[first,last)上所有字符 3)string& erase(size_t pos = 0, size_t len = npos);//刪除字符串中從索引 位置pos開始的len個字符 4)void clear();//刪除字符串中所有字符
字符的替換1)string& replace(size_t pos, size_t n, const char *s);//將當(dāng)前字符串 從pos索引開始的n個字符,替換成字符串s 2)string& replace(size_t pos, size_t n, size_t n1, char c); //將當(dāng)前字符串 從pos索引開始的n個字符,替換成n1個字符c 3)string& replace(iterator i1, iterator i2, const char* s);//將當(dāng)前字符串 [i1,i2)區(qū)間中的字符串替換為字符串s
字符的搜索相關(guān)函數(shù)較多,下面列舉幾個常用的: 1)size_t find (constchar* s, size_t pos = 0) const; //在當(dāng)前字符串的pos索引位置開始,查找子串s,返回找到的位置索引, -1表示查找不到子串 2)size_t find (charc, size_t pos = 0) const; //在當(dāng)前字符串的pos索引位置開始,查找字符c,返回找到的位置索引, -1表示查找不到字符 3)size_t rfind (constchar* s, size_t pos = npos) const; //在當(dāng)前字符串的pos索引位置開始,反向查找子串s,返回找到的位置索引, -1表示查找不到子串 4)size_t rfind (charc, size_t pos = npos) const; //在當(dāng)前字符串的pos索引位置開始,反向查找字符c,返回找到的位置索引, -1表示查找不到字符 5)size_tfind_first_of (const char* s, size_t pos = 0) const; //在當(dāng)前字符串的pos索引位置開始,查找子串s的字符,返回找到的位置索引, -1表示查找不到字符 6)size_tfind_first_not_of (const char* s, size_t pos = 0) const; //在當(dāng)前字符串的pos索引位置開始,查找第一個不位于子串s的字符, 返回找到的位置索引,-1表示查找不到字符 7)size_t find_last_of(const char* s, size_t pos = npos) const; //在當(dāng)前字符串的pos索引位置開始,查找最后一個位于子串s的字符,返回找到的位置索引,-1表示查找不到字符 8)size_tfind_last_not_of (const char* s, size_t pos = npos) const; //在當(dāng)前字符串的pos索引位置開始,查找最后一個不位于子串s的字符,返回找到的位置索引,-1表示查找不到子串
字符串的比較1)int compare (conststring& str) const;//將當(dāng)前字符串與字符串str比較, 相等返回0,大于str返回1,小于str返回-1 2)int compare (size_tpos, size_t len, const char* s) const; //將當(dāng)前字符串從 Pos索引位置開始的len個字符構(gòu)成的字符串與字符串s比較, 相等返回0,大于str返回1,小于str返回-1 3)int compare (constchar* s) const; //直接將當(dāng)前字符串與字符串s比較, 相等返回0
文章為本人原創(chuàng),轉(zhuǎn)載請注明出處:http://blog.csdn.net/lsh_2013/article/details/46728993 |
|
來自: 古風(fēng)銀漢 > 《待分類》