在C语言的文件中,像r,w,a,r+,w+,a+分别是啥意思,前面三者与后面三者有啥区别吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言的文件中,像r,w,a,r+,w+,a+分别是啥意思,前面三者与后面三者有啥区别吗?相关的知识,希望对你有一定的参考价值。

举例说明一下啊,不是很懂

一、含义不同:

r是只读,文件已存在,指针在文件头;r+是读写方式,读写指针都在文件头。w是只写方式,w+是读写方式建立新文件,读指针在文件头。a是追加方式打开文件,指针指向文件尾;a+是读写方式打开文件,读从文件开始,写从文件尾开始。

二、使用不同:

r:该文件必须存在。

r+:该文件必须存在。

w:若文件不存在则建立该文件。

w+:若文件不存在则建立该文件。

+: 读和写

凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。

用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。

若要向一个已存在的文件追加新的信息,用“a”方式打开文件。如果指定文件不存在则尝试创建该文件。

以上内容参考:百度百科-c语言fopen函数

参考技术A

r 打开只读文件,该文件必须存在。

r+ 打开可读写复的文件,该文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,即制该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立百该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

a+ 以附加方式打开可读写的文度件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

扩展资料:

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。

C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。

C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

参考资料来源:百度资料—C语言

参考技术B r是只读,文件已存在,指针在文件头;r+是读写方式,读写指针都在文件头。w是只写方式,w+是读写方式建立新文件,读指针在文件头。a是追加方式打开文件,指针指向文件尾;a+是读写方式打开文件,读从文件开始,写从文件尾开始。 参考技术C r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。本回答被提问者和网友采纳

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语言的文件中,像r,w,a,r+,w+,a+分别是啥意思,前面三者与后面三者有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

c语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有啥区别?

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

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

为啥L=wxw^R| w, x 属于 a,b^+ 是正则语言

C语言中 freopen("b.txt","r",stdin);是用来干嘛的啊?为啥有的地方是“r”,有的是“w”!!

python文件类型r,w,a,r+,w+,a+区别辨析