c语言的文件打开模式,c语言文件打开模式 - osc_b2jf5efr的个人空间 - OSCHINA - 中文开源技术交流社区...

本文详细介绍了C语言中打开文件的12种模式,包括只读、只写、追加及读写混合等模式,解析了每种模式下文件指针的位置、内容处理方式以及读写权限。对于不存在的文件,不同模式会触发新建或打开失败的操作。理解这些模式对于正确地读写文件至关重要。
摘要由CSDN通过智能技术生成

(转载)

在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+

新建

结尾

任意位置读取

只能尾部写入

-

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值