1.文件小的话,完整读入内存,在内存中删除,然后以写方式清空原始文件并覆盖;
2.文件大的话,先逐段读取,确认要删除的起止位置,然后将之后的内容分段读出并覆盖到前面,最后截去文件多余的长度;
3.如果磁盘足够大,也可以从头读取原始文件并转存到一个缓存文件,遇到要删除的地方则跳过不写,所有内容都写入缓存文件后,将缓存文件整个copy覆盖原始文件,删除缓存文件.
c++没有提供像编辑器那样提供那么简单快捷的直接删除方法,只能够覆盖写过去.
两种方式:
1、一次性全部读取到字符串列表,修改后再保存为新文件(也就是覆盖以前的文件)
2、依次读取每一行,并输出到新文件,需要被删除的那一行不输出就行了。