生活
fstream 、fstream读取文件
2023-04-18 01:29  浏览:55

fstream这个单词在C++语言中是什么意思?

fstream 在C++语言中是 class(“类”) 的名字。 意思:“标准文件输入输出流class”。

f -- 是file,即数据文件的意思。

stream 是 “流”,“数据流”

fstream 是 处理文件输入和输出流 的 class,它属于 std::fstream 即标准输入输出类下的 class。

来源于 typedef basic_fstreamchar fstream;

fstream 有成员函数:open(),close(),is_open(),rdbuf(),swap(),operator= 等等。

fstream.h是啥意思?又什么作用啊?

这是C++里的文件。

fstream.h是头文件,是对文件操作使用的。 继承 iostream; fstream 拥有iostream功能,但并不是包含关系。 fstream 是对文件操作,而 iostream 是 对 标准输入输出文件的操作。

在C++中,对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream.h。使用方法如下:

在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是:

void open(const char* filename,int mode,int access);

参数:

filename:要打开的文件名

mode:要打开文件的方式

access: 打开文件的属性

打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下:

ios::app: 以追加的方式打开文件

ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性

ios::binary:  以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文

ios::in:  文件以输入方式打开

ios::out: 文件以输出方式打开

ios::nocreate: 不建立文件,所以文件不存在时打开失败 

ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败

ios::trunc:如果文件存在,把文件长度设为0

可以用“或”把以上属性连接起来,如ios::out|ios::binary

打开文件的属性取值是:

0:普通文件,打开访问

1:只读文件

2:隐含文件

4:系统文件

可以用“或”或者“+”把以上属性连接起来 ,如3或1|2就是以只读和隐含属性打开文件。

例如:以二进制输入方式打开文件c:config.sys

fstream file1;

file1.open("c:config.sys",ios::binary|ios::in,0);

如果open函数只有文件名一个参数,则是以读/写普通文件打开,即:

file1.open("c:config.sys");=file1.open("c:config.sys",ios::in|ios::out,0);

另外,fstream还有和open()一样的构造函数,对于上例,在定义的时侯就可以打开文件了:

fstream file1("c:config.sys");

特别提出的是,fstream有两个子类:ifstream(input file stream)和ofstream(outpu file stream),ifstream默认以输入方式打开文件,而ofstream默认以输出方式打开文件。

ifstream file2("c:pdos.def");//以输入方式打开文件

ofstream file3("c:x.123");//以输出方式打开文件

所以,在实际应用中,根据需要的不同,选择不同的类来定义:如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开,就用ofstream来定义;如果想以输入/输出方式来打开,就用fstream来定义。

fstream怎么用

#include iostream

#include fstream

using namespace std;

void main()

{

float x,y,z;

int k;

ifstream indata;

ofstream outdata;

indata.open("in.dat");

if(!indata)

{

cout"can not open the file:in.dat"endl;

return;

}

indataxyz;

indatak;

outdata.open("out.dat");

if(!outdata)

{

cout"can not open the file :out.dat"endl;

return;

}

outdatax" "yendl;

outdataz" "kendl;

indata.close();

outdata.close();

}

#include在C++中是什么作用?

#include 是C++的预编译语句,作用是包含对应的文件,在这里是包含C++的STL头文件fstream。

在包含了这个文件后,就可以使用fstream中定义的类及各种成员函数了。

fstream是C++ STL中对文件操作的合集,包含了常用的所有文件操作。在C++中,所有的文件操作,都是以流(stream)的方式进行的,fstream也就是文件流file stream。

最常用的两种操作为:

1、插入器()

向流输出数据。比如说打开了一个文件流fout,那么调用fout"Write to file"endl;就表示把字符串"Write to file"写入文件并换行。

2、析取器()

从流中输入数据。比如说打开了文件流fin,那么定义整型变量x的情况下,finx;就是从文件中读取一个整型数据,并存储到x中。

C++(八):fstream读写操作

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

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

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

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

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

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

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

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

指定文件时有如下限制:

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

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

关于fstream和fstream读取文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发表评论
0评