考虑到文件大小可能比较大,不能一次性全部读到内存中处理,需一行一行读取,然后处理这一行的数据,怎么实现呢?C或C++都行
4 个解决方案
#1
没办法,只能重建文件,然后删掉原来的,把新文件改名。
#2
+1
#3
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。
#4
那像word等办公软件是怎么实现替换的呢,也是用这种方法?遇到很大的文件怎么办?比如说2G多的文件,是分段处理吗?那岂不是很慢?
#1
没办法,只能重建文件,然后删掉原来的,把新文件改名。
#2
+1
#3
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。
#4
那像word等办公软件是怎么实现替换的呢,也是用这种方法?遇到很大的文件怎么办?比如说2G多的文件,是分段处理吗?那岂不是很慢?