C语言文件使用方式中的“r”与“w”是什么意思?想问下我的理解对不对?求大神指点迷津~

作者&投稿:郴唐 (若有异议请与网页底部的电邮联系)
在C语言的文件中,像r,w,a,r+,w+,a+分别是什么意思,前面三者与后面三者有什么区别吗?~

一、含义不同:
r是只读,文件已存在,指针在文件头;r+是读写方式,读写指针都在文件头。w是只写方式,w+是读写方式建立新文件,读指针在文件头。a是追加方式打开文件,指针指向文件尾;a+是读写方式打开文件,读从文件开始,写从文件尾开始。
二、使用不同:
r:该文件必须存在。
r+:该文件必须存在。
w:若文件不存在则建立该文件。
w+:若文件不存在则建立该文件。

+: 读和写
凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
若要向一个已存在的文件追加新的信息,用“a”方式打开文件。如果指定文件不存在则尝试创建该文件。
以上内容参考:百度百科-c语言fopen函数

这是文件操作中的mode应用问题。
fopen(打开文件)
相关函数 open,fclose
表头文件 #include
定义函数 FILE * fopen(const char * path,const char * mode);
函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。
返回值 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
附加说明 一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。
范例
#include
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}

希望可以帮到你!

r 是read的缩写,就是从文件里面读
w是write的缩写,就是往文件里面写
你输入的数据也是通过编程写进去的,不会出现黑框框这种交互界面。
你可以从书上抄一段程序自己运行一下,就懂了O(∩_∩)O

黑框框,你对计算机了解这么些,就开始编程涉及到文件操作了啊


C语言文件使用方式中的“r”与“w”是什么意思?想问下我的理解对不对...
r 是read的缩写,就是从文件里面读 w是write的缩写,就是往文件里面写 你输入的数据也是通过编程写进去的,不会出现黑框框这种交互界面。你可以从书上抄一段程序自己运行一下,就懂了O(∩_∩)O

c语言中文件使用方式中a和a+是一个意思吗,麻烦大家解释下 谢谢_百度...
a+是以读\/写的方式从文件中读取或往文件中写入数据。

C语言中,有12种文件使用方式,有哪12种,并给予简要解释?
“ wt+ ”读写打开或建立一个文本文件,允许读写 “ at+ ”读写打开一个文本文件,允许读,或在文件末追加数据 “ rb+ ”读写打开一个二进制文件,允许读和写 “ wb+ ”读写打开或建立一个二进制文件,允许读和写 “ ab+ ”读写打开一个二进制文件,允许读,或在文件末追加数据 ...

C语言文件处理中wt是什么操作方式?
“rb” 只读打开一个二进制文件,只允许读数据 “wb” 只写打开或建立一个二进制文件,只允许写数据 “ab” 追加打开一个二进制文件,并在文件末尾写数据 “rt+”读写打开一个文本文件,允许读和写。用fseek确定读写位置,写多少覆盖多少,后面的内容保留。因为磁盘空间是连续的,所以你不能...

C语言文件打开方式,如果使用"w","wb","w+","wb+"打开一个已经存在的文件...
这个果断会,如果要向文件追加东西要用a或a+模式,具体应用可以查找相关资料.

用标准C语言库进行文件操作时,若要以a+方式打开一个己经存在的文件,则...
【答案】:A fopen文件打开模式r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表textr=rt,打开只读文件,该文件必须存在r+ =rt+,打开可读可写的文件,该文件必须存在rb ,只读,打开一个二进制文件,该文件必须存在rb+ ,打开一个二进制文件,允许读和写,该文件必须存在w=...

C语言Fopen函数的用法
fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:FILE *fp;fp=("file a"...

用C语言打开一个文件时,使用的方式是“r”,执行时为什么发生错误,求解...
报这类错误的原因很大可能会是指针变量没有分配好空间,或者是访问访问过程越界。按理,读写文件的地方应该没有问题。不然的话,你用这代自定义的函数放到一个简单的C程序里面测试一下打开文件会报这样的错误麽。

C语言文件中,“rb”和“r”有什么区别?
"rb"为读而打开二进制文件 一般使用方式如下:FILE *fp; \/\/ 定义一个文件指针 fp=fopen(文件名,使用文件方式); \/\/ 其中使用文件方式就是"r"或"rb"等方式 在读取一个磁盘文件时,文本方式读取到文件内容很有可能会比二进制文件短,因为文本方式读取要把回车,换行两个字符变成一个字符,相当...

c语言中文件怎样调用文件
在文件最前面使用#include可以调用文件。例如 include <stdio.h> \/*调用系统stdio.h*\/ include "test.h"\/*调用用户自定义文件test.h*\/ 被调用的文件多是.h文件,即头文件。当然也可以是.c文件,即c语言源文件,但一般不推荐使用这种方式。

马尾区19284131383: c语言文件问题: 1."rb"与 "r"的含义分别是什么 2.while(!feof(fp))是什么意思? -
典货盐酸: "r".为读而打开文本文件.(不存在则出错) "rb".为读而打开二进制文件 while(!feof(fp)) 文件到尾判断最常用的文件使用方式及其含义如下: "r".为读而打开文本文件.(不存在则出错) "rb".为读而打开二进制文件. "w".为写而打开文本...

马尾区19284131383: C语言文件那章 "R"向计算机输入和 "W"向文件输入有什么区别 -
典货盐酸: R就是读数据.就是从外部磁盘或移动设备上把数据读进CPU或其他指令系统,就是由外向内传输数据;W就是写数据,将内部数据写到磁盘上或输出到其他外部设备上,相当你把音乐从电脑下载到你优盘上一样

马尾区19284131383: C语言使用文件的符号和意义. -
典货盐酸: r为以只读方式打开文件 w为以只写方式打开文件 r+为可读写方式打开 w+为可读写方式打开 加b为以二进制方式打开

马尾区19284131383: 在C语言中:常见的文件打开方式及含义 -
典货盐酸: r:打开一个文本文件只读 w:打开一个文本文件只写 a:对一个文本文件添加 rb:打开一个二进制文件只读 wb:打开一个二进制文件只写 ab:对一个二进制文件添加 r+:打开一个文本文件读/写 w+:生成一个文本文件读/写 a+:打开一个文本...

马尾区19284131383: r,w,a+,r+在C语言中各自表示什么意思? -
典货盐酸: 对于文件使用方式有以下几点说明: 1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是: r(read): 读 w(write): 写 +: 读和写 a(append): 追加 t(text): 文本文件,可省略不写 b(banary): 二进制文件 2)用“r”打开一个文件时,...

马尾区19284131383: C语言文件打开时 w+和r+有什么不同..除了一个要求文件必须存在 一个没要求外.. -
典货盐酸: 当文件不存在时,r+不会创建,而会导致调用失败,但w+会创建. 如果文件存在,r+不会自动清空文件,但w+会自动把已有文件的内容清空. 另外,r+打开文件后,会把读写指针指向文件的开头,所以会覆盖已有的文件 所以说,你的例子中,以r+方式打开,输入d,文件内容会变为dbc;以w+方式则会变为d. 像这样的问题,你自己要去试试就知道了.

马尾区19284131383: 请问一下在C语言中,r+和w+,及a+这三个操作有哪些区别?
典货盐酸: r+ 以可读写方式打开文件,该文件必须存在. w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失.若文件不存在则建立该文件. a+ 以附加方式打开可读写的文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留. (原来的EOF符不保留)

马尾区19284131383: C语言文件中什么是“只读”和“只写”? -
典货盐酸: r 只读 为输入打开一个文本文件(文件必须存在) w 只写 为输出打开一个文本文件(如没有文件,则新建)

马尾区19284131383: C语言中 freopen("b.txt","r",stdin);是用来干嘛的啊?为什么有的地方是“r”,有的是“w”!! -
典货盐酸: r,w是打开文件的方式,r是read的意思,表示以只读的方式打开,这样打开是不能进行写操作的.w是write的意思,表示以写的方式打开,可以修改文件的内容.

马尾区19284131383: c语言文件操打开方式里,“r+w”写入的字符放在文件的什么地方,是和追加一样吗? -
典货盐酸: “r+w”方式,从文件当前位置开始写.1.打开文件,没有做任何处理,那么从文件开始位置写.会覆盖原来内容哦2.打开文件,使用fseek,lseek函数移动了文件当前偏移量,那么从文件当前偏移量位置开始写,会覆盖原来内容.使用"a"方式,是追加方式写,从文件末尾位置开始写.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网