c++ ofstream 文件不存在_C++文件读写详解(ofstream,ifstream,fstream)

本文详细介绍了C++中的fstream库,包括ofstream(写操作),ifstream(读操作)和fstream(读写操作)的用法。重点讲解了open()函数的参数、文件打开方式以及文本文件的读写操作。示例代码演示了如何打开、关闭文件,以及如何读写文本和二进制文件。此外,还提到了流状态标志的验证和文件指针的使用。
摘要由CSDN通过智能技术生成

这里主要是讨论fstream的内容:1 #include

2 ofstream //文件写操作 内存写入存储设备

3 ifstream //文件读操作,存储设备读区到内存中

4 fstream //读写操作,对打开的文件可进行读写操作

1、打开文件

在fstream类中,成员函数open()实现打开文件的操作,从而将数据流和文件进行关联,通过ofstream,ifstream,fstream对象进行对文件的读写操作

函数:open()1 public member function

2

3 void open ( const char * filename,

4 ios_base::openmode mode = ios_base::in | ios_base::out );

5

6 void open(const wchar_t *_Filename,

7 ios_base::openmode mode= ios_base::in | ios_base::out,

8 int prot = ios_base::_Openprot);

9 /*

10 参数:filename 操作文件名

11 mode 打开文件的方式

12 prot 打开文件的属性 //基本很少用到,在查看资料时,发现有两种方式

13

14 */

打开文件的方式在IOS类(流式I/O的基类)中定义,有如下几种方式:

ios::in

为输入(读)而打开文件,文件不存在则创建(ifstream)默认的打开方式

ios::out

为输出(写)而打开文件,文件不存在则创建,若文件已存在则清空原内容

(ofstream默认的打开方式)

ios::ate

文件打开时,指针在文件最后。可改变指针的位置,常和in、out联合使用

ios::app

供写使用,文件不存在则创建,若文件已存在则在原文件内容后写入新的内容,

指针位置总在最后

ios::trunc

在读写前,先将文件长度截断为0(默认)

ios::nocreate

文件不存在时产生错误,常和in或app联合使用

ios::noreplace

文件存在时产生错误,常和out联合使用

ios::binary

二进制格式文件

这些方式是能够以“或”运算(“|”)的方式进行组合使用。

文件保护方式选择项

filebuf::openprot

默认的兼容共享方式

filebuf::sh_none

独占,不共享

filebuf::sh_read

读共享

filebuf::sh_write

写共享

很多程序中,可能会碰到ofstream out("Hello.txt"), ifstream in("..."),fstream foi("...")这样的的使用,并没有显式的去调用open()函数就进行文件的操作,直接调用了其默认的打开方式,因为在stream类的构造函数中调用了open()函数,并拥有同样的构造函数,所以在这里可以直接使用流对象进行文件的操作,默认方式如下:1 ofstream out(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值