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