码迷,mamicode.com
首页 > 其他好文 > 详细

STL之string

时间:2015-06-22 09:50:42      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

string构造函数,很多重载函数;

 1 #include <iostream>
 2 #include <string>
 3 
 4 using namespace std;
 5 int main()
 6 {
 7     string s1; 
 8     cout << s1 << endl;
 9 
10     string s2(5, a);
11     cout << s2 << endl;
12 
13     string s3(s2);  //将s2的字符拷贝到s3中,之后两个完全无关
14     cout << s3 << endl;
15 
16     string s4(s3.begin(), s3.begin()+s3.size()/2);
17     cout << s4 << endl;
18 
19     char *cp = "hi";    //c语言中的字符串,存在一个看不见的‘\0‘; 
20     char c_array[] ="world!!!!";    //c语言中的字符串,存在一个看不见的‘\0‘; 
21     char no_null[] = {H, i};    //字符数组,而非字符串  //{‘H‘, ‘i‘, ‘\0‘}; 
22 
23     string ss1(cp);
24     cout << ss1.size() << ss1 << endl;  //ss1.size()=2 ,ss1=hi,没有\0字符:0
25 
26     string ss2(c_array, 5); 
27     cout << ss2.size() << ss2 << endl;
28         
29     string ss3(c_array+5, 4); 
30     cout << ss3.size() << ss3 << endl;
31 
32     //string ss4(no_null);  //ERROR; 默认全部取出,由于没有\0,没办法截至
33     string ss4(no_null, 2); //OK;
34     cout << ss4.size() << ss4 << endl;
35     cout << ss4.size() << ss4 << endl;
36   //ss2 = "world" 37 string ss5(ss2, 2); //从ss2的第2个位置开始到结束复制给ss5; 38 cout << ss5.size() << ss5 << endl; 39 40 string ss6(ss2, 2, 1); //从ss2的第2个位置开始,最多1个字符结束复制给ss5; 41 cout << ss6.size() << ss6 << endl; 42 43 string ss7(ss2, 0, 8); //从ss2的第0个位置开始,最多8个字符,结束复制给ss5; 44 cout << ss7.size() << ss7 << endl; 45 46 return 0; 47 }

 

STL之string

标签:

原文地址:http://www.cnblogs.com/chris-cp/p/4592912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!