c语言怎么删除二进制文件中的最后一个字符 不是用\0覆盖
1个回答
展开全部
只说个大概的思路:比如用seekg跳到最后,然后tellg拿到文件总的字符数N。
然后申请N空间的buffer,read N个字符,然后再write N-1个字符。
这个方案没有考虑特大文件的情况。
比较好的方式是,固定buffer大笑BUFFER_SIZE,然后read BUFFER_SIZE个字符,然后判断feof如果没有读完,就write BUFFER_SIZE个字符到新文件,如果读完了就write BUFFER_SIZE-1个字符到新文件。
然后申请N空间的buffer,read N个字符,然后再write N-1个字符。
这个方案没有考虑特大文件的情况。
比较好的方式是,固定buffer大笑BUFFER_SIZE,然后read BUFFER_SIZE个字符,然后判断feof如果没有读完,就write BUFFER_SIZE个字符到新文件,如果读完了就write BUFFER_SIZE-1个字符到新文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询