C++中的fstream流2-1

当要读写一个文件时,可以使用fstream流,该流可以对指定文件进行读写操作。fstream流在fstream头文件中定义,该头文件中还定义了另外两个类型ifstream和ofstream,其中ifstream用来对指定文件进行读操作,而ofstream对指定文件进行写操作。以上三个类的操作与iostream类的操作类似,可以使用<<和>>等IO运算符。fstream流、ifstream流和ofstream流的使用方法基本相同。

1 定义文件流的对象

在定义文件流的对象时,可以指定文件也可以不指定文件。

1.1在定义对象时指定文件

在定义对象时指定文件,即创建对象的同时,打开指定文件,并将流对象与文件关联。

explicit basic_fstream( const char* _Filename, ios_base::openmode _Mode = ios_base::in | ios_base::out, int _Prot = (int)ios_base::_Openprot);

其中,参数_Filename表示指定的文件;_Mode表示访问文件的权限,默认权限是读(ios_base::in)权限和写权限(ios_base::out);int_Prot指定了文件在打开是的共享方式,即当某个用户打开该文件后,其他用户能否对该文件进行读写操作。

ifstream infile("text.txt");

其中,定义了一个ifstream流的对象infile,用于读取指定文件text.txt的内容。

1.2 在定义对象时不指定文件

在定义对象时不指定文件,则需要在定义之后,调用open()函数打开指定文件,并将流对象与文件关联。

ofstream outfile;
outfile.open("text.txt");

其中,定义了一个ofstream流的对象outfile,用于向文件中写入数据。之后使用open()函数打开指定的文件text.txt,并将outfile与该文件关联。

open()函数的作用是打开指定的文件,其格式为

void open( const char* _Filename, ios_base::openmode _Mode = ios_base::in | ios_base::out, int _Prot = (int)ios_base::_Openprot);

该函数的参数与“1.1在定义对象时指定文件”中提到的流的构造方法相同。

2 读取文件内容

通过“1.1在定义对象时指定文件”中定义的ifstream流的对象infile读取text.txt文件中的内容。

string s;
infile >> s;
cout << s;
infile.close();

其中,通过IO操作符>>将文件中的内容保存到string类的对象s中,并通过cout在控制台中显示出读取到的内容。读取了数值之后,需要调用close()函数将流关闭,即断开流与指定文件的关联,这样才能对指定文件进行后续的写操作。

3 向文件中写入数据

通过在“1.2 在定义对象时不指定文件”中定义的ofstream类的对象outfile,向text.txt中写入数据。

outfile << "hello world";
outfile.close();

其中,通过IO操作符<<将数据写入到text.txt中,并调用close()函数关闭流与文件的连接。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值