永发信息网

C语言,文件写入数据后读出时里面数据清空了。

答案:3  悬赏:20  手机版
解决时间 2021-03-26 20:19
C语言,文件写入数据后读出时里面数据清空了。
最佳答案
如果你想在已存在的txt内追加内容的话,应该使用a而非w。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

各mode如下:
FILE * fopen(const char * path,const char * mode);
mode有下列几种形态字符串:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
wx 创建文本文件,只允许写入数据.[C11]
wbx 创建一个二进制文件,只允许写入数据.[C11]
w+x 创建一个文本文件,允许读写.[C11]
wb+x 创建一个二进制文件,允许读写.[C11]
w+bx 和"wb+x"相同[C11]
以x结尾的模式为独占模式,文件已存在或者无法创建(一般是路径不正确)都会导致fopen失败.文件以操作系统支持的独占模式打开.[C11]
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库以二进制模式打开文件。如果不加b,表示默认加了t,即rt,wt,其中t表示以文本模式打开文件。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。
全部回答
代码贴出来看看追问

追答检查你的写入和读取文件的模式wb+,二进制格式。追问wb+有问题吗,我不是很懂,我刚才改成wt+,也还是不行。追答b = binary,是二进制格式的。
另外,可以对代码进行调试,打断点。
再者,这两个功能可以写在一个.c文件里,使用同一个main函数,方便调试。
提示:w(b)+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。所以,对于w,你要搞清楚追问这样啊。我是想将商品的信息存入这个文件,然后在另一个程序之中调用这些信息。就是要作为另一个程序一开始就存在的部分,不是要在程序中输入。要怎么修改才行啊。。追答提示得很清晰了。不要用w模式,如果你希望使用二进制读写文件的话,建议你用b+,而不是wb+
你的代码呢?打开方式不对,是不是用的w或者w+
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
商丘同真堂董事长欠农民工工资不发,
“凉办”是什么意思啊?
梦幻西游 本人5力69天宫,可配5简易装和一60
3/4吨比()多1/5。
德芙的故事
歌词里有你我再重遇那一天粤语歌叫什么
15岁负重练肌肉会长不高吗?
安徽到渭南快递需要几天
水泵与管道怎么匹配,水泵运行起来才不会超流
清煮雄鱼头的做法步骤图,清煮雄鱼头怎么做
葫芦为什么会苦?苦葫芦能吃么?
从温岭到黄岩布袋山自驾游要多少小时
去南岳祝融峰烧香,怎么买香?
给大家说说越战美军为什么扔掉m16捡ak
左边的胯骨很痛。 两周前负重深蹲,扛八十斤
推荐资讯
怎么做恐龙
出生兔年和蛇年两个人能在一起吗?
电脑自动黑屏待机,应该怎么解决
娄底k488列次火车五点四二分发车,请问明天几
天津雷庄子花卉市场离曹庄子远吗
另一扇窗子反映了玛丽老师什么品质
生物题如何避免柳絮满天飞舞
2减去0.8除以0.64乘以0.8用简便方法怎么算
共有756本书,有3个书架,每个书架有6层,平
请问这个是蟑螂吗?北京
l was almost 10 years old the first time i
大麦若叶可以和贤者的卓食一起吃吗?比如午饭
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?