c语言文件打开模式

转载)      

 在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图: 

打开模式

 只可以读 

 只可以写 

读写兼备

文本模式

r

w

a

r+

w+

a+

二进制模式

rb

wb

ab

 rb+ (r+b) 

 wb+ (w+b) 

 ab+ (a+b) 

 

       其中,二进制模式与文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:

       1."r" 模式:

              1.1 打开文件进行“只读”操作,即只能从文件读取内容。

              1.2 若欲操作的文件不存在,则打开失败

              1.3 成功打开文件时,文件指针位于文件开头

              1.4 打开文件后,不会清空文件内原有内容。

              1.5 可从文件中任意位置读取内容。

       2."w" 模式:

              2.1 打开文件进行“只写”操作,即只能向文件写入内容。

              2.2 若欲操作的文件不存在,则新建文件

              2.3 成功打开文件时,文件指针位于文件开头

              2.4 打开文件后,会清空文件内原有的内容。

              2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。

       3."a" 模式:

              3.1 打开文件进行“追加”操作,即只能向文件写入内容。

              3.2 若欲操作的文件不存在,则新建文件

              3.3 成功打开文件时,文件指针位于文件结尾

              3.4 打开文件后,不会清空文件内原有内容。

              3.5 只能向文件末尾追加(写)内容。

       4."r+"模式:

              4.1 打开文件进行“读写”操作,即既可读取,又可写入。

              4.2 若欲操作的文件不存在,则打开失败

              4.3 成功打开文件时,文件指针位于文件开头

              4.4 打开文件后,不会清空文件内原有内容。

              4.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

       5."w+"模式:

              5.1 打开文件进行“读写”操作,即既可读取,又可写入。

              5.2 若欲操作的文件不存在,则新建文件

              5.3 成功打开文件时,文件指针位于文件开头

              5.4 打开文件后,会清空文件内原有的内容。

              5.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

       6."a+"模式:

              6.1 打开文件进行“读写”操作,即既可读取,又可写入。

              6.2 若欲操作的文件不存在,则新建文件

              6.3 成功打开文件时,文件指针位于文件结尾

              6.4 打开文件后,不会清空文件内原有内容。

              6.5 读取内容时,可以在任意位置进行,但写入内容时,只会追加在文件尾部。

        附表格加强记忆:

 

 打开模式 

 简述 

 若欲操作的 

 文件不存在 

 成功打开文件后 

文件指针位置

 是否清空 

 原有内容 

读取位置

写入位置

r

只读

打开失败

开头

 任意位置读取 

不可写入

-

w

只写

新建

开头

不可读取

 任意位置写入 

 写入时会覆盖原有位置内容 

a

新建

结尾

不可读取

 只能尾部写入 

-

r+

读写

打开失败

开头

 任意位置读取 

 任意位置写入 

 写入时会覆盖原有位置内容 

w+

新建

开头

 任意位置读取 

 任意位置写入 

 写入时会覆盖原有位置内容 

a+

新建

结尾

 任意位置读取 

 只能尾部写入 

-

 

       不同的打开模式对应不同的操作方式,使用时需仔细规划。

转载于:https://www.cnblogs.com/Lunais/p/9968151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值