C++ fstream 文件输入

C++ fstream 文件输入,第1张

fstream file

file.open("filename")

之后file就可以当cin用了。

file.get(x)按字符获取

file>>double 类型数据(以空格为界)

过程:

1.遇到空格、\r\n、\n都会跳过,直到遇到字符类型或者数字类型的char

2.如果是字符类型,则double为0,并进入死循环

,则double类型为0,并掉入死循环_______

int类型也是如此,会卡住进入死循环。**

cin.ignore(num,char)忽略字符 提取数量为num的字符

文件fstream定义了三个类型来支持文件IO *** 作。

要读写一个文件,可以定义一个文件流对象,并将对象与文件关联起来。每个文件流类都定义了一个名为open的成员函数,可以完成一些系统相关的 *** 作,来定位给定的文件,并视情况打开位读或写模式。

创建文件流对象时,可以提供文件名,此时会自动调用open

用fstream代替iostream& :在要求使用基类型对象的地方,可以使用继承类型的对象来代替。

成员函数open和close:如果定义了一个空文件流对象,可以调用open来将它与文件关联起来,如果调用open失败,failbit会被置位。

一旦文件流与文件关联起来,它会一直保存,此时别的流无法再与该文件绑定,所以有时需要关闭已关联的文件。

自动构造与析构: 用ifstream类型构造一个对象,如果该对象是一个循环中的局部变量,在每个循环中都要创建和销毁一次。当一个对象离开其作用域时,与之关联的文件会自动关闭,即自动调用close。

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

指定文件时有如下限制:

以out模式打开文件会丢弃已有数据: 默认情况下打开ofstream时,文件的内容会被丢弃。 阻止一个ofstream清空给定文件内容的方法时同时指定app模式

每次调用open时都会确定文件模式: 对于一个给定流,每当打开文件时,都可以改变其文件格式。

1.使用open或者fopen打开文件获取文件文件句柄。

2.如果是c 语言程序,可以使用fread将文件内容读取到内存里,然后通过\n来取到每一行,然后使用sscanf来获取浮点数;

如果是c++,可以直接使用getline函数获取一行数据,然后再调用sscanf来获取浮点数

3.处理完了关闭文件

如果是写文件,open打开,注意标志位设置成追加模式,然后按照格式组织好数据,可以使用sprintf来格式化数据到内存里,然后调用fwrite写入文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12049349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存