How to read a file larger than 2GB using C fread?
Possible Duplicate:
2GB limit on file size when using fwrite in C?
我意识到对于我的 C 编译器,fread 函数只能正确读取小于 2GB (2147483648) 的文件。我想知道我们是否可以读取 >2GB 的文件。谢谢
- 可以将 open() 和 read() 与 int 文件描述符一起使用,而不是 fopen() 和 fread() 与 FILE 指针一起使用。 FILE 结构很可能是您的 32 位限制的根源,并且无论文件有多大,重复的 read() 调用都会起作用。
您需要使用大文件支持进行编译。或者,在某些平台上,您可以使用 fopen64.