c++学习笔记(2)字符串
2016-09-05 23:45
218 查看
1.字符串
1.1定义和初始化string对象
string s1;//默认初始化s1是一个空字符串 string s2(s1);//s2是s1的副本 string s2 = s1;//等价于s2(s1),s2是s1的副本 string s3("value");//s3是字面值“value”的副本,除了字面值最后的那个空字符外 string s3 = "value";//同s3("value") string s4(10,'c');//把s4初始化为由连续10个字符c组成的串
如果使用等号初始化,其实执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去。如果不用等号,则为直接初始化。
1.2string对象上的操作
读写string对象:string s;//定义string cin >> s;//将string对象读入s,遇到空白停止 cout << s << endl;//输出s
读取未知数量的string对象:
string word; while (cin >> word) { cout << word << endl; return 0; }
使用getline读取一整行:
string line; while (getline(cin, line)) { cout << line << endl; }
empty和size:
string line; while (getline(cin, line)) { //empty返回字符串是否为空,若为空则跳过 if (!line.empty()) { cout << line << endl; } }
string line; while (getline(cin, line)) { //size返回字符串大小,若小于80则跳过 if (line.size() < 80) { cout << line << endl; } }
string::size_type 类型:
对于size函数来说,返回一个int或者返回一个unsigned似乎是合情合理的。但是size函数返回的是一个string::size_type。由于size函数返回的是一个无符号整型数,因此切记,如果在表达式中混用了带符号数和无符号数将可能产生意想不到的结果。例如:假设n是一个具有负值的int,则表达式
s.size()<n的判断结果几乎是肯定是true。因为负值n会自动转化为一个比较大的无符号数。
相关文章推荐
- c++指针学习笔记--交换两个字符串数据
- C++学习笔记之函数如何返回字符串(char型)
- C/C++学习笔记:字符串库函数
- 20121017c++学习笔记,文件读取,字符串相关
- c++指针学习笔记--交换两个字符串数据收藏
- [学习笔记]C和C++中关于字符串的细小知识点
- c++学习笔记之字符串
- C/C++学习笔记29:字符串处理函数
- 【学习笔记】C++传递字符串到C#
- c++学习笔记2——指向字符串的指针数组?
- 【C++学习笔记】10_C风格字符串
- C++学习笔记之函数如何返回字符串(char型)
- C++学习笔记(第六章 指针的应用 字符串 引用 之二)
- C/C++学习笔记:指针与字符串
- C++基础教程 学习笔记(二) 数组、字符串和指针
- C++学习笔记-5-字符串(string)
- C++中String类的截取字符串学习笔记
- c++学习笔记(八):C++字符串
- C++每次读取一行字符串输入(学习笔记) (转)
- C/C++学习笔记笔记28:字符与字符串