程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++之string類用法詳細總結

c++之string類用法詳細總結

編輯:C++入門知識

c++之string類用法詳細總結


 

 

標准c++中String類非常強大,合理使用,能極大提高編程效率,下面就對string類的用法進行總結。

頭文件

#include

String類的構造函數如下:

1) string s; //生成一個空字符串s

2) string s(str) //拷貝構造函數生成str的復制品

3) string s(str,index) //將字符串str內“始於位置index”的部分當作字符串的初值

4) string s(str,index, n) //將字符串str內“始於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()) //以區間begin():end() (不包含end())內的字符作為字符串s的初值

#include 
#include 
using namespace std;
int main ()
{
	//定義
	string s0 (abcdefghijklmn);
	string s1;
	string s2 (s0);
	string s3(s0,3);
	string s4 (s0,3, 4);
	string s5 (let us learn string);
	string s6 (let us learn string,6);
	string s7 (10, 'x');    
	string s8 (s0.begin(), s0.begin()+7);
    //輸出
	cout << s1:  << s1 << 
s2:  << s2 << 
s3:  << s3;
	cout << 
s4:  << s4 << 
s5:  << s5 << 
s6:  << s6;
	cout << 
s7:  << s7 << 
s8:  << s8 << '
';
	return 0;
}
\

String類常用的操作函數

之後會對相關函數進行講解,如果不想將下面操作函數全部看完,大伙可以找自己感興趣的函數看。

1) =,assign() //賦以新值

2) swap() //交換兩個字符串的內容

3)+=,append(),push_back() //在尾部添加字符

4) insert() //插入字符

5) erase() //刪除字符

6) clear() //刪除全部字符

7) replace() //替換字符

8) + //串聯字符串

9)==,!=,<,<=,>,>=,compare() //比較字符串

10)size(),length() //返回字符數量

11) max_size() //返回字符的可能最大個數

12) empty() //判斷字符串是否為空

13) capacity() //返回重新分配之前的字符容量

14) reserve() //保留一定量內存以容納一定數量的字符

15) [ ], at() //存取單一字符

16)>>,getline() //從stream讀取某值

17) << //將謀值寫入stream

18) copy() //將某值賦值為一個C_string

19) c_str() //將內容以C_string返回

20) data() //將內容以字符數組形式返回

21) substr() //返回某個子字符串

22)查找函數

23)begin() end() //提供類似STL的迭代器支持

24) rbegin() rend() //逆向迭代器

25) get_allocator() //返回配置器

字符串添加

#include 
#include 
using namespace std;
int main(void)
{
	string s1;
	//尾部插入字符
	s1.push_back('a');
	s1.push_back('b');
	s1.push_back('c');
	cout << 打印s1:  << s1 << endl;
	char* cArray=efgh;
	string s2(cArray);
	cout << 打印s2:  << s2 << endl;
	//字符串的+操作
	cout << 打印s1+s2:  << s1 + s2 << endl;
	//字符串s1後添加字符串s2
	cout << append後,打印s1:  << s1.append(s2) << endl;
	//在s1的第個字符位置前插入字符'8'
	s1.insert(s1.begin()+1,'8');
	cout << insert後,打印s1:  << s1 << endl;
	//字符串的+=操作
	s1+=s2;
	cout << s1+=s2後,打印s1:  << s1 << endl;
	return 0;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved