C++文件操作

除了标准输入输出流类istream、ostream和iostream类外,还有3个用于文件操作的文件类:

流的名称

流的作用

ifstream类

从istream类派生的,用来支持从磁盘文件的输入

ofstream类

从ostream类派生的,用来支持向磁盘文件的输出

fstream类

从iostream类派生的,用来支持对磁盘文件的输入输出


1、调用成员函数open的一般形式为:
    文件流对象.open(磁盘文件名, 输入输出方式);
磁盘文件名可以包括路径,如"c:\new\\f1.dat",如缺省路径,则默认为当前目录下的文件。

2、在定义文件流对象时指定参数
在声明文件流类时定义了带参数的构造函数,其中包含了打开磁盘文件的功能。因此,可以在定义文件流对象时指定参数,调用文件流类的构造函数来实现打开文件的功能。如
    ostream outfile("f1.dat",ios::out);

例如:

(1)ofstream outfile; 
outfile.open("f1.dat",ios::out);    //向文件中写入数据,失败返回0

(2)ofstream outfile("f1.dat", ios::out);

方 式

作用

ios::in

以输入方式打开文件

ios::out

以输出方式打开文件(这是默认方式),如果已有此名字的文件,则将其原有内容全部清除

ios::app

以输出方式打开文件,写入的数据添加在文件末尾

ios::ate

打开一个已有的文件,文件指针指向文件末尾

ios: :trunc

打开一个文件,如果文件已存在,则删除其中全部数据,如文件不存在,则建立新文件。如已指定了 ios::out 方式,而未指定ios: :app,ios::ate,ios: :in,则同时默认此方式

ios:: binary

以二进制方式打开一个文件,如不指定此方式则默认为ASCII方式

ios::nocreate

打开一个已有的文件,如文件不存在,则打开失败。nocrcate的意思是不建立新文件

ios:: noreplace

如果文件不存在则建立新文件,如果文件已存在则操作失败,replace 的意思是不更新原有文件

ios::in l ios::out

以输入和输出方式打开文件,文件可读可写

ios:: out | ios::binary

以二进制方式打开一个输出文件

ios::in l ios::binar

以二进制方式打开一个输入文件


判断结尾:

每读入一个字节,文件指针就后移一个字节。当文件指针移到最后,就会遇到文件结束EOF(文件结束符也占一个字节,其值为-1),此时流对象的成员函数eof的值为非0值(一般设为1),表示文件结束了。

#include<iostream>
#include <fstream>

using namespace std;

int main()
{
	char buffer[1024];
	ofstream outfile("QQ.txt", ios::out);//写入文件
	outfile << "A" <<endl<<"B"<<endl;
	outfile.close();

	ifstream infile("QQ.txt",ios::in);//读取文件
	while (!infile.eof())
	{
		infile.getline(buffer, 1000);
		cout << buffer;
	}
	outfile.close();

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值