我正在编写一个应用程序,处理非常大的用户生成的输入文件。程序将复制大约95%的文件,有效地复制文件并在副本中切换几个字和值,然后将副本(以块为单位)附加到原始文件中,这样,原始文件中的每个块(由10到50行组成)后面跟着复制和修改的块,然后是下一个原始块,等等。用户生成的输入符合某种格式,并且原始文件中的任何行都不太可能超过100个字符。
哪种方法更好?
使用一个文件指针,并使用保持当前位置的变量,即读取的量和写入的位置,来回查找文件指针进行读取和写入;或
要使用多个文件指针,一个用于读取,一个用于写入。
我最关心的是程序的效率,因为输入文件将达到25000行,每行大约50个字符长。
最佳答案
25000行*100个字符=2.5MB,这不是一个大文件。最快的方法可能是在内存中读取整个文件,并将结果写入一个新文件,然后用该文件替换原始文件。
关于c - 使用C读写大文件的有效方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13498233/