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

   更新日期:2024.05.01
这是文件操作中的mode应用问题。
fopen(打开文件)
相关函数 open,fclose
表头文件 #include<stdio.h>
定义函数 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<stdio.h>
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}

希望可以帮到你!

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

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

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



a和a+如果指定的文件不存在,会出错,而不会创建新文件

物理科学巨人霍金去世,您身体受困于轮椅,思想却能遨游宇宙,希望您在那边能身体和思想都能真正自由翱翔,让时间永留简史吧,让黑洞发出“声响”吧。

r:以只读的方式打开文本文件,文件必须存在;

w:以只写的方式打开文本文件,文件若存在则清空文件内容从文件头部开始写,若不存在则根据文件名创建新文件并只写打开;

a:以只写的方式打开文本文件,文件若存在则从文件尾部以追加的方式开始写,文件原来存在的内容不会清除(除了文件尾标志EOF),若不存在则根据文件名创建新文件并只写打开;

r+:以可读写的方式打开文本文件,文件必须存在;

w+:以可读写的方式打开文本文件,其他与w一样;

a+:以可读写的方式打开文本文件,其他与a一样;

若打开二进制文件,可在后面加个b注明,其他一样,如rb,r+b(或rb+)。

再次缅怀霍金。

士兵不分入伍前身份户籍,也不看军衔等级,符合条件才能安置。
《退役士兵安置条例》,自2011年11月1日起施行。
第二十九条 退役士兵符合下列条件之一的,由人民政府安排工作:
(一)士官服现役满12年的;
(二)服现役期间平时荣获二等功以上奖励或者战时荣获三等功以上奖励的;
(三)因战致残被评定为5级至8级残疾等级的;
(四)是烈士子女的。
符合前款规定条件的退役士兵在艰苦地区和特殊岗位服现役的,优先安排工作;因精神障碍基本丧失工作能力的,予以妥善安置。

  • 19259666120 :c语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有什么区别?_百度...
    蒙荷荔3862 :答:r+ 打开可读写的文件,该文件必须存在。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  • 19259666120 :C语言怎样对文件进行操作
    蒙荷荔3862 :答:1、打开Sublime Text软件,新建一个C语言文件,然后导入C语言库,如下图所示 2、接下来新建C语言的main函数,对文件的操作都会在main函数中进行,如下图所示 3、接下来调用C语言的fopen函数对文件进行打开操作,如下图所示 ...
  • 19259666120 :C语言对文件的操作
    蒙荷荔3862 :答://FILE * fopen(const char * path, const char * mode);FILE *fp;fp = fopen("path", "r+");//即可
  • 19259666120 :C语言中对文件的操作
    蒙荷荔3862 :答:所谓打开,是取得文件的句柄号。C用fopen函数来打开文件,返回这个文件的句柄(一个寻找文件的变量,其中包含文件大小、文件类型、文件位置等信息)。“打开”后,文件内内容并不会保存在内存中,只有在使用的时候,从储存器上...
  • 19259666120 :C语言 对文件进行操作的三个主要过程是
    蒙荷荔3862 :答:C语言对文件进行操作的三个主要过程是:打开文件、操作文件、关闭文件。C语言的文件处理功能依据系统是否设置“缓冲区”分为两种:一种是设置缓冲区,另一种是不设置缓冲区。由于不设置缓冲区的文件处理方式,必须使用较低级的...
  • 19259666120 :在C语言中文件有几种操作类型
    蒙荷荔3862 :答:主要是两种文件类型:1)文本文件,2)二进制文件。一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。在C语言中,文件的操作是通过FILE结构体进行了,利用fopen返回一个指向FILE结构...
  • 19259666120 :C语言中对文件进行读写操作必须先将文件怎么办
    蒙荷荔3862 :答:wt+ 读写打开或着建立一个文本文件;允许读写。at+ 读写打开一个文本文件,允许读或在文本末追加数据。ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。上述的形态字符串都可以再加一个b字符,如rb、w+b或ab...
  • 19259666120 :C语言 文件使用方式问题
    蒙荷荔3862 :答:C语言中对文件进行操作必须打开文件,打开文件主要涉及到fopen函数。fopen函数的原型为 FILE* fopen(const char *path,const char *mode)其中path为文件路径,mode为打开方式 1)对于文件路径,只需注意若未明确给出绝对路径,...
  • 19259666120 :在C语言的文件操作函数中,若在最后不关闭文件也可以完成追加、重写等操...
    蒙荷荔3862 :答:文件打开后,可能有一些操作被缓冲在内存中,若不正常关闭,缓冲在内存中的数据就不能真正写入到文件中,可能造成数据丢失。文件是系统中的一种资源,打开文件是对资源的占用,若不关闭,则别的程序就不能使用此资源。比如你...
  • 19259666120 :C语言如何对文件的操作??请高手帮忙!!
    蒙荷荔3862 :答:跟控制台输入输出差不多 #include <fstream.h> ...ifstream fin("data.txt");for ...fin>>...;fin.close();ofstream fout("data.txt");for ...fout...;fout.close();...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网