C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析

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+

新建

结尾

 任意位置读取 

 只能尾部写入 

-

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

C语言文件操作(超级详细) 【代码】C语言文件操作(超级详细) 阅读详情

相关推荐

C语言后记-28 C语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有什么区别?

在C语言中,文件操作模式(通过fopen()函数指定)的aa+ww+rr+决定了文件打开方式、读写权限和初始位置。

CodeAllen嵌入式 5万+

c语言wb是标识符,C语言文件 "w+"与"wb+"区别

优质回答 回答者:yenanw+以纯文本方式读写,而wb+是以二进制方式进行读写。mode说明:w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件wb 只写方式打开或新建一个二进制文件,只允许写数据。wb+ 读写方式打开或建立一个二进制文件,允许读和写。r 打开...

weixin_31461433的博客 4230

c语言w加,C语言文件 "w+"与"wb+"区别

这是我今天碰到的问题,现在已经解决,希望我的整理能够帮助到你们!w+以纯文本方式读写,而wb+是以二进制方式进行读写。mode说明:w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件wb 只写方式打开或新建一个二进制文件,只允许写数据。wb+ 读写方式打开或建立...

weixin_35781524的博客 1万+

C语言文件 "w+"与"wb+"区别

这是我今天碰到的问题,现在已经解决, 希望我的整理能够帮助到你们! w+以纯文本方式读写,而wb+是以二进制方式进行读写。 mode说明: w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件wb 只写方式打开或新建一个二进制文件,只允许写数据。 ...

落花四月 4万+

C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析

C语言文件打开模式浅析

StrayedKing-245176013 3万+

C语言文件读写方式r 的作用,C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析...

C语言文件打开模式浅析在C语言文件操作语法中,打开文件文件有以下12种模式,如下图:打开模式只可以读只可以写读写兼备文本模式rwar+w+a+二进制模式rbwbabrb+ (r+b)wb+ (w+b)ab+ (a+b)其中,二进制模式与文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:1."r" 模式:1.1 打开文件进行“只读”操作,即只能从文件读取内容。1.2 若欲...

weixin_33716865的博客 5222

C语言文件读写方式r 的作用,C/C++知识点之C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析...

本文主要向大家介绍了C/C++知识点之C语言文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。其中,二进制模式与文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:1."r"模式:1.1打开文件进行“只读”操作,即只能从文件读取内容。1.2若欲操作的文件不存在...

weixin_35025310的博客 1534

c语言文件打开模式

fp=fopen("D://cyy//bbb.txt","w")中的w改为a,变成写入。这段代码和上段代码类似,这里要说明一下,这段代码是上一段代码执行后,已经建立了bbb.txt这个文件。a模式是追加模式,允许向文件末尾写入信息,如果文件名不存在,则会报错。rb+,wb+,ab+属于允许对文件读取和写入信息,打开二进制文件。允许向文件写入信息,若文件不存在,则创建一个文件。"rb","wb",“ab”是打开二进制文件。允许对文件读取信息。

2301_81968528的博客 689

c语言wbwb 区别,C语言文件 "w+"与"wb+"区别

这是我今天碰到的问题,现在已经解决,希望我的整理能够帮助到你们!w+以纯文本方式读写,而wb+是以二进制方式进行读写。mode说明:w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件wb 只写方式打开或新建一个二进制文件,只允许写数据。wb+ 读写方式打开或建立...

weixin_39959569的博客 3431

c语言文件rb正确用法,在C语言当中关于读取文件时的"r""rb"区别

函数fopen是一个标准c函数,其功能是打开一个文件,之后便可以进行读或写的操作.其原型是这样的:FILE *fopen( const char *filename, const char *mode );第一个参数是要打开文件的名字(路径),第二个参数是打开文件所用的模式.对于模式参数的”w”和”wb”,”r”和”rb”,我起初并不是很理解,按照课本上的说法,”w”是以文本的形式进行写入,而”w...

weixin_35077079的博客 5132

fopen 和它的读写标识 r、r+、rb+、rt+、w+.....

函数功能: 打开一个文件 函数原型:FILE * fopen(const char * path,const char * mode); 相关函数:open,fclose,fopen_s,_wfopen 所需库: <stdio.h> 返回值: 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。   一般而言,打开文...

HelloKandy's Blog 2万+

C语言练习题集: C语言文件操作练习题

又由表一可以知道 , 要以二进制的形式打开一个文件 , 二进制描述中的b要放在权限后 ,C选项中fopen的返回值可以检验文件是否打开成功,打开方式为"r"时尤其重要。B.fopen打开文件的方式是"w",如果文件不存在,则创建该文件打开成功。A.fopen打开文件的方式是"r",如果文件不存在,则打开文件失败。D选项中,sprintf是把格式化的数据写到字符串中,与输出流无关。D.文件路径指的是从盘符到该文件所经历的路径中各符号名的集合。f系列的输入输出函数都是作用于所有流的的,所以AC没问题。

m0_73793970的博客 680

python文件操作,r w a系列

文件操作 创建文件"asdf.txt" open( ) # 打开 file # 文件的位置(路径) mode # 操作文件模式 encoding # 文件编码方式 f # 文件句柄 f = open("asdf",mode="r",encoding="utf-8") print(f.read()) f.close() 文件操作的模式: r,w,a (重要) rb,wb,a

Python热爱者的博客 959

对已有文件进行既读又写的操作时关于文件位置注意事项(适用于Python和C/C++)

当我们需要对现有文件进行读取数据并修改文件中的数据时,就需要用到对已有文件进行既读又写的操作。有多种可读且可写的文件打开方式:r+,w+,a+,rb+,wb+,ab+,具体含义见下表。 打开 方式 读写 特性 文件数据 特性 对文件存在性的处理方式 备注 文...

Housebenz的专栏 1747

文件的常见操作

2019/10/30 文件操作 写文件文件 参数1是文件名 参2 是权限 w是写 函数返回一个文件对象 如果, 文件没有, 那会自动创建 , 如果有重名的, 会覆盖 file01 = open(“123.txt”, “w”) 2写内容 file01 .write(“hello python”) 3 关闭文件 file01.close() 对于内存大的文件...

k8vg___的博客 317

[C语言基础]文件读取模式简析

C语言文件操作

看看世界看看你 594

C 文件读写

上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。

m0_65541699的博客 836
上一篇: 大小端C++ 实现转换
下一篇: SBC音频编解码算法(转载)
哆啦@熊
博客等级 码龄18年 1518粉丝 37原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值