C++标准库string类型的操作总结
2010-12-04 07:18:05 来源:WEB开发网核心提示:1. string对象的定义和初始化:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1string s1; //空串 2 string s2(s1);
1. string对象的定义和初始化:
1 string s1; //空串
2 string s2(s1); //将s2初始化为s1的一个副本
3 string s3("value"); //s3初始化并赋值
4 string s4(n,"c"); //s4初始化,赋值为n个'c'
5 string s5(b,e); //初始化s5为迭代器b,e范围内的副本
6 string s6(cp); //用c风格的字符串初始化
7 string s7(cp,n); //cp前n个元素的副本
8 string s8(s2,pos2); //s8为s2从pos2开始到结尾的副本
9 string s9(s2,pos2,len2);//同上,不过的长度为len2(不超过s2的长度)
10 //其中有一种方法需要注意:
11 char no_null[] = {'H','i'};
12 string s10(no_null); //错误,不是以null结尾的串
13 string s10(no_null,2); //ok,可以自动添加null结尾
2. string的读写:
1 string s;
2 cin >> s;
3 cout << s << endl;
4 //注意,cin是会被空白符截断的
5 //要得到整行输入,采用while循环,或者:
6 getline(cin,s);
3.string的操作:
1 s.empty(); //判断s是否为空,相当于s.size()==0
2 s.size(); //s的长度
3 s[n]; //n位置的字符(左值返回)
4 s1+s2; //返回s1和s2连接的串
5 s1=s2; //把s1替换为s2的副本
6 s1==s2; //判断s1,s2是否相等
7 !=,<,<=,>,>= //按字典顺序比较
8 //==================
9 s.insert(p,t); //在迭代器p指向的元素前插入t,返回指向t的迭代器
10 s.insert(p,n,t);//同上,插入n个t,返回void
11 s.insert(p,b,e);//插入迭代器b,e间的元素,返回void
12 s.insert(pos,n,c); //在pos前插入n个字符c,返回s的引用
13 s.insert(pos,s2);//在pos前插入s2,返回s的引用
14 s.insert(pos,s2,pos2,len);
15 //在pos前插入s2中从pos2开始的len个字符,返回s的引用
16 s.insert(pos,cp,len);
17 //pos前插入cp数组(c风格字串)的前len个字符,返回s的引用
18 s.insert(pos,cp);//在pos前插入cp,返回s的引用
19 //==================
20 s.assign(b,e); //用b,e间的元素替换s,返回s
21 s.assign(n,t); //用n个t替换s,返回s
22 s.assign(s2); //用s2的副本替换s,返回s的引用
23 s.assign(s2,pos2,len);
24 //用s2从pos2开始的len长的副本替换s,返回s的引用
25 s.assign(cp,len)//用cp的前len个字符副本替换s,返回s的引用
26 s.assign(cp) //用cp的副本替换s,返回s的引用
27 //==================
28 s.erase(p); //删除迭代器p指向的元素,返回指向后一个元素的迭代器
29 s.erase(b,e); //删除b,e间的元素,返回值同上
30 s.erase(pos,len);//删除从pos开始的len个字符,返回s的引用
31 //==================
32 s.substr(pos,n);//返回s中从pos开始的n个字符组成的串
33 s.substr(pos); //返回s中从pos开始到结尾的串
34 s.substr(); //返回s的副本
35 //==================
36 s.append(args); //将args串接在s的后面,返回s的引用
37 //==================
38 s.replace(pos,len,args);
39 //删除s中从pos开始的len个字符,用args串替换,返回s的引用
40 //args不能为b2,e2
41 s.replace(b,e,args);
42 //删除迭代器b,e范围内的字符,用args替换,返回s的引用
43 //args不能为s2,pos2,len2
44 //==================append,replace的args的说明
45 s2 //string
46 s2,pos2,len2 //s2中下pos2开始的len2个字符
47 cp //c风格的串
48 cp,len2 //cp指向以空结束的前len2个字符
49 n,c //字符c的n个副本
50 b2,e2 //迭代器b2,e2范围内的所有字符
[]
- ››String l数据对象的Hash Code值的理解
- ››String对象创建个数
- ››String、StringBuffer和StringBuilder的区别
- ››标准MFC WinSock ActiveX控件开发实例(II)高级篇
- ››标准MFC WinSock ActiveX控件开发实例
- ››String类的一些赋值语句
- ››StringBuffer帮你减轻Java的负担
- ››String.getBytes()方法中的中文编码问题
- ››标准的web.xml
- ››String和StringBuffer之概览
- ››String类的intern内部化方法释疑
- ››String转换成Integer源码分析
更多精彩
赞助商链接