c++中ifstream,ofstream和fstream的使用方法

更多精彩尽在原文地址

iOS开发之家

1、C++中IO库类型 c++中的IO库类型和头文件以下: ios

iOS开发之家

各类IO库类型对应的继承关系为:c++

类型ifsream和istringstream都继承自istream; 类型ofsream和ostringstream都继承自ostream; 类型fsream和stringstream都继承自iostream;面试

继承机制的特色就是能够讲一个派生类对象看成基类对象来使用。所以咱们能够像使用istream对象同样来使用ifsream和istringstream对象,例如,能够对一个ifsream或istringstream对象调用getline,也能够从一个ifsream或istringstream对象中读取数据,等等。同理,其余类型也可按继承关系获得相似使用规则。算法

2、文件读写操做类型 ifstream,ofstream和fstream是实现文件读写操做的类型。部分操做以下:编程

iOS开发之家

(1)若要建立和使用文件流对象,能够提供文件名(可选),若是提供了一个文件名,则open自动被调用:swift

ifstream in(ifile);//构造一个ifstream并打开给定文件 ofstream out;//构造输出文件流,未关联任何文件数组

一旦一个文件流打开,它就保持与对应文件的关联。为了将文件流关联到另外一个文件,必须先关闭已经关联的文件,而后再打开:数据结构

in.close();//关闭文件 in.open(ifile + "2");//打开另外一个文件学习

(2)文件模式:每一个流都有一个关联的文件模式,用来指出如何使用文件。 spa

iOS开发之家

指定文件格式的限制以下:

iOS开发之家

(3)例子:如下代码实现从当前目录下的input.txt中读取内容,而后放到数组a中,或者每次直接输出buffer。

#include
#include #include <stdlib.h> #include using namespace std; int main(){ char buffer[256]; ifstream in("input.txt");//文件不存在会返回错误 if (! in.is_open()){ cout << "Error opening file"<<endl; exit (1); } vector a; while (!in.eof()){ in.getline (buffer,100); //cout << buffer << endl; a.push_back(buffer); }
for(unsigned int i=0;i<a.size();i++) cout<<a[i]<<endl; return 0; }

其中input.txt内容为:

ofstream //文件写操做 内存写入存储设备
ifstream //文件读操做,存储设备读区到内存中
fstream //读写操做,对打开的文件可进行读写操做 1 2 3 3、c++中的操纵符 一、定义在iostream中的操纵符:

iOS开发之家

iOS开发之家

二、定义在iomanip中的操纵符:

iOS开发之家

若是你依然在编程的世界里迷茫,不知道本身的将来规划,小编给你们推荐一个iOS高级交流群:458839238 里面能够与大神一块儿交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行! 群内提供数据结构与算法、底层进阶、swift、逆向、整合面试题等免费资料 附上一份收集的各大厂面试题(附答案) ! 群文件直接获取 各大厂面试题

iOS开发之家

推荐文章

【重磅来袭】史上最全iOS面试题及答案

相关文章
相关标签/搜索