c语言打开文件,要实现读取再写入,用哪种打开方式?

 我来答
寇兴有鄞辛
2020-01-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:765万
展开全部
wt+
wb+写入时都是将原来的文件覆盖的,也就是删除了。你可以采用r+的方式,你也可以好好理解下面的几种情况试试看,我还没有时间试过一遍。
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,只允许读写数据。
rt+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
罗秀荣系夏
2020-01-01 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:2155万
展开全部
fopen("test.txt","w")
没有这种打开方式
当用fseek()时,假设此时指针位置已有数据,写入后是覆盖
但是会导致前面的部分被清0
一般只能全部读出,然后再写入,除非这个文件的数据存储格式你自己定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哀兴宰莺
2020-01-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:1059万
展开全部
r+/rb+(文件须存在)。
如果要追加读写,用a+/ab+(文件不存在时新建)。
其它可以参考这里:http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式