C语言文件关闭与打开中,r +,a+ 有什么区别

作者&投稿:盈琪 (若有异议请与网页底部的电邮联系)
c语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有什么区别?~

这是文件操作中的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 打开只读文件,该文件必须存在。r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
补充:
a和a+、w和w+、r和r+是mode几种形态字符串。

r 只读 为输入打开一个文本文件(文件必须存在)
w 只写 为输出打开一个文本文件(如没有文件,则新建)
a 追加 向文本文件尾添加数据(如没有文件,则新建)
rb 只读 为输入打开一个二进制文件
wb 只写 为输出打开一个二进制文件
ab 追加 向二进制文件尾添加数据
r+ 读写 为读写打开一个文本文件(文件必须已经存在)
w+ 读写 为读写建立一个新的文本文件
a+ 读写 为读写打开一个文本文件(读写指针定位在最后)
rb+ 读写 为读写打开一个二进制文件
wb+ 读写 为读写建立一个新的二进制文件
ab+ 读写 为读写打开一个二进制文件

r+只是读,不能写
a+是写,追加,不会删掉之前的内容


c语言—怎样打开和关闭一个文件file
#include <stdio.h> void main () {FILE *fp=null;fp=fopen("c:\\\\file.txt","w"); if (fp = null) return ; fprintf (fp,"Hello World");fclose (fp);} fopen为打开, fclose为关闭, fprintf向文件中写。你试着编译看看。

c语言中的文件打开与关闭,我的程序出错了,求助!!!
你的第二个程序编译运行没问题,是将已有的文件打开并且将数据读取到屏幕上,如果原先并没有创建stu.dat这个文件和输入数据自然显示无法打开。

易语言 关于打开文件与关闭文件的问题!(有高手解答吗?)
.子程序 _打开文件_被选择 .如果真 (通用对话框1.打开 () = 真)文件号 = 打开文件 (通用对话框1.文件名, , 4)编辑框1.内容 = 到文本 (读入文本 (文件号, ))关闭文件 (文件号).如果真结束 .子程序 _关闭文件_被选择 编辑框1.内容 = “”关闭文件 (文件号)我们易语言群好:...

c语言文件打开了为什么要关闭
一方面,文件是系统中的一种资源,打开文件是对资源的占用,若不关闭,则别的程序就不能使用此资源。另一方面,文件打开后,可能有一些操作被缓冲在内存中,若不正常关闭,缓冲在内存中的数据就不能真正写入到文件中,可能造成数据丢失。

c语言关闭非活动文件后怎样打开
打开方式说明 r以只读方式打开文件,只允许读取,不允许写入。该文件必须存在。r+以读\/写方式打开文件,允许读取和写入。该文件必须存在。rb+以读\/写方式打开一个二进制文件,允许读\/写数据。rt+以读\/写方式打开一个文本文件,允许读和写。w以只写方式打开文件,若文件存在则长度清为0,即该文件内容...

C语言文件关闭函数fclose(文件指针)是什么?
intfclose(FILE*fp);当fclose被调用时,一个打开的文件(以文件指针fp标识)会被关闭,关闭后,无法再对fp执行读写操作。如果关闭成功,返回0,否则返回负值。C语言文件操作的标准流程为 1、fopen打开文件;2、通过各种读写函数,读写文件;3、所有操作结束后,调用fclose关闭文件。C语言 C语言是一门...

易语言用什么命令打开和关闭文件夹,
打开文件 (, , )调用格式: 〈整数型〉 打开文件 (文本型 欲打开的文件名称,〔整数型 打开方式〕,〔整数型 共享方式〕) - 系统核心支持库->文件读写 英文名称:open 打开一个普通文件,以对文件进行输入或输出。成功返回被打开文件的文件号,失败返回 0。本命令为初级命令。参数<1>的名称为...

易语言如何打开文件后接着关闭,打开一个文档,文档移动到编辑框后接...
不对 打开文件返回的是一个文件号,应声明变量保存这个文件号,再用关闭文件(文件号)关闭。不能打开两次文件。既然你用的是易语言,你可以试试还有个函数,名字记不到了,只需提供路径就可返回一个字节集。

编程的C语言文件,打开之后就立刻自动关闭了,请问怎么办才可以手动关闭...
因为程序运行好或会自动关闭,而一般程序都运行很快解决方法:最简单的是用命令符提示打开,在开始菜单中的程序里的附件里找到,输入路径按回车即可

c语言怎么打开文件内容
1、首先需要下载专门的c语言编程软件,一般从百度下载就可以。2、打开下载好的c语言编程软件,界面如下图所示。3、在标题下方点击打开项目,操作如下图所示。4、软件会自动帮你找到自己做的文件,点击需要打开的文件。5、可以看到文件打开,自己可以进行查看,或者修改,添加程序。

纳溪区17780549542: 在C语言中:常见的文件打开方式及含义 -
瞿趴易启: r:打开一个文本文件只读 w:打开一个文本文件只写 a:对一个文本文件添加 rb:打开一个二进制文件只读 wb:打开一个二进制文件只写 ab:对一个二进制文件添加 r+:打开一个文本文件读/写 w+:生成一个文本文件读/写 a+:打开一个文本...

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

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

纳溪区17780549542: C语言中用fopen打开一个文件,写上一些数字,关闭文件.再次打开时,位置指针是在数字之后还是在文件开头 -
瞿趴易启: 关闭文件.再次打开时,位置指针是在头还是尾,与你的打开方式有关系. 如果是 按读 (r),指针在文件开头. 如果是 按写 (w),指针在文件开头. 如果是 按附加 (a,a+),指针在文件尾. 如果你记不清楚,为安全起见,可以自己用 fseek, fsetpos, rewind 等控制位置. 例如 rewind(fp) 则 到文件头. fseek 可以设偏移位置,起算点SEEK_END 是文件尾,起算点SEEK_SET是文件头.

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

纳溪区17780549542: 关于c语言fopen打开格式r+和a+怎么会出现乱码,程序如下 文本是以r+写的不是二进制 -
瞿趴易启: 因为是把数据以二进制形式写到文件中的,所以打开文件,看起来是乱码,但计算机能看懂如果,你想看明白,那就以文本文件的形式保存数据.

纳溪区17780549542: C语言中w、w+,r、r+的问题 -
瞿趴易启: r打开已存在文本文件;w,r+打开文本文件,如果文件不存在,w新建一个,r+出错;w+建立一个新的文本文件.r只读,w只写,r+、w+读写.

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

纳溪区17780549542: 如何利用c语言打开文本文件? -
瞿趴易启: C程序语言非常强大,通过打开文本的函数(里面的参数指出要打开文本的位置及文件名),即可打开相应的文本. 第一,包含的头文件:#include <stdio.h>,这是一个输入输出函数,第二,打开文本文件:FILE *file = fopen("c:\\1.txt","r"...

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