C++ 流以及文件操作
2016-04-05 18:39
246 查看
文件输入输出
1、头文件<fstream>
头文件fstream定义了三个类型来支持文件IO:
ifstream :从一个给定文件读取数据
ofstream :向一个给定位文件写入数据
fstream:可以读取给定文件
这些类型提供的操作和cin和cout的是一样的。
可以用IO运算符(<< 和 >>)来读取文件,可以用getline来从一个ifstream读取数据
2、用fstream代替iostream&
在要求使用基类对象的地方,我们可用继承类型的对象来代替。这意味着一个iostream类型的引用(或指针)参数的函数,可以用一个对应的fstream(或sstream)类型来调用。也就是说,如果有一个函数接受一个ostream&的参数,我们可以在调用这个函数的时候传递给他一个ofstream对象,对istream&和ifstream也是类似的。
3、string流
sstream头文件定义了三个类型来支持内存IO,这些类型可以向string写入数据,从string读取数据,就像string是一个IO流一样。
istringstream:从一个string读取数据
ostringstream:向string写入数据
stringstream:既可以读也可以写
同样,sstream中定义的类型也继承自iostream头文件。当然,除了继承得来的特性,sstream还有自己的特性,如下:
1)sstream strm;
2)sstream strm(s); //可以用一个string对象直接初始化strm(实际上就是绑定一个string对象)
3)strm.str(); //返回strm所保存的string对象
4)strm.str(s); //将string s拷贝到strm中。返回void
4、使用istringstream
1 2 3 4 5 6 7 | string line,word; //定义两个string对象,line保存一行string,word用来遍历一行string的以空格为分隔符的子string while ( getline(cin,line) ) { stringstream record(line); //将记录绑定到刚刚读到的行line while (record >> word) use word; //在这里使用word } |
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性