c语言怎么删除二进制文件中的最后一个字符 不是用\0覆盖

 我来答
百度网友e096309
2016-10-28 · TA获得超过1327个赞
知道小有建树答主
回答量:501
采纳率:96%
帮助的人:418万
展开全部
只说个大概的思路:比如用seekg跳到最后,然后tellg拿到文件总的字符数N。
然后申请N空间的buffer,read N个字符,然后再write N-1个字符。
这个方案没有考虑特大文件的情况。
比较好的方式是,固定buffer大笑BUFFER_SIZE,然后read BUFFER_SIZE个字符,然后判断feof如果没有读完,就write BUFFER_SIZE个字符到新文件,如果读完了就write BUFFER_SIZE-1个字符到新文件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式