【发布时间】:2018-01-03 04:45:05
【问题描述】:
我想读取一个文件,但它太大而无法完全加载到内存中。
有没有办法在不加载到内存的情况下读取它?还是有更好的解决方案?
【问题讨论】:
-
fread() 指定你想读多少,下一个 fread() 会在上一次调用结束时继续,一直继续直到你到达文件末尾
-
@MartinBeckett 您应该将该评论作为答案。
-
我需要内容来做校验,所以我需要完整的消息
-
@RaulSanMartin,校验和可以更新:
md5(a+b) = md5(a).update(b)。因此,您不需要加载整个文件。 -
我很惊讶你这么问。直观地说,文件可能非常大,比内存还大……而且情况一直如此。谁告诉你文件需要足够小才能放入内存?