首页

文章

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

发布网友 发布时间:2022-04-19 09:44

我来回答

5个回答

热心网友 时间:2023-10-23 19:40

这是文件操作中的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);
}

希望可以帮到你!

热心网友 时间:2023-10-23 19:40

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

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

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

补充:

a和a+、w和w+、r和r+是mode几种形态字符串。

热心网友 时间:2023-10-23 19:41

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

热心网友 时间:2023-10-23 19:41

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

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

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

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

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

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

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

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

再次缅怀霍金。

热心网友 时间:2023-10-23 19:42

士兵不分入伍前身份户籍,也不看*等级,符合条件才能安置。
《退役士兵安置条例》,自2011年11月1日起施行。
第二十九条 退役士兵符合下列条件之一的,由*安排工作:
(一)士官服现役满12年的;
(二)服现役期间平时荣获二等功以上奖励或者战时荣获三等功以上奖励的;
(三)因战致残被评定为5级至8级残疾等级的;
(四)是烈士子女的。
符合前款规定条件的退役士兵在艰苦地区和特殊岗位服现役的,优先安排工作;因精神障碍基本丧失工作能力的,予以妥善安置。
ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 C语言中w、w+,r、r+的问题 C语言当中文件W什么意思 惠普打印机无线连接一直脱机惠普2600无线打印显示脱机 到底是干什么用的? 干嘛是什么语气 “干吗”和“干嘛”有什么区别 干嘛是什么意思 干嘛呀是什么语气 干嘛与干嘛呢有什么区别 女人说干嘛是什么意思 干嘛英语怎么说 到底是“干吗”还是“干嘛” 女孩问你干嘛呢是什么意思 干嘛和干吗有什么不同??? “干嘛呢”是什么意思? “做什么”应该说“干嘛”还是“干吗”? 干吗与干嘛有什么区别? 干嘛的详细释义 干嘛英语 干嘛?意思是什么 c语言中"w"是字符串常量吗 c语言中文件打开。如何区分何时用r,w,a,r+ w+ a+ c语言与w等价的表达式 C语言中的%w 什么意思? c语言指针w c语言 *(*(w+1))与*( w+1 ) [ 4 ] 的区别 C语言fopen中w和w+的区别在哪儿 C语言 麻烦详细讲一讲w方式是什么 正确还是错误的 C语言当中文件W什么意思 C语言:编写一个函数fun其功能是: 判断一个整数w的各位数字平方之和能否被5整除 , 可以被5整除则返回1, r,w,a+,r+在C语言中各自表示什么意思? C语言文件 "w+"与"wb+"区别 c语言w的键盘码是什么 C语言中w[1]能表示W[m][n]的第一行吗 c语言程序 w>x?w:z>y?z:x是什么意思 C语言 w=((x||y)&&(w<'a'))什么意思 hporder-a-cartridge打印机脱机 什么手机好用 手机都有哪些牌子? 手机有什么好处?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com