所以就需要先把文件的内容fread(或者别的方式也可以)读入字符数组中,,然后在数组中删除你想要删除的字符,,再fwrite(注意与之前读的方式对应)到文件中。。。
1.文件小的话,完整读入内存,在内存中删除,然后以写方式清空原始文件并覆盖2.文件大的话,先逐段读取,确认要删除的起止位置,然后将之后的内容分段读出并覆盖到前面,最后截去文件多余的长度
3.如果磁盘足够大,也可以从头读取原始文件并转存到一个缓存文件,遇到要删除的地方则跳过不写,所有内容都写入缓存文件后,将缓存文件整个copy覆盖原始文件,删除缓存文件.
c++没有提供像编辑器那样提供那么简单快捷的直接删除方法,只能够覆盖写过去.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)