当文件大小大于4gb时,如何在C中获取文件的文件大小?
ftell 返回一个 4 字节的有符号长整数,将其限制为两个字节。 stat 有一个 off_t 类型的变量,它也是 4 个字节(不确定符号),所以它最多可以告诉我 4gb 文件的大小。
如果文件大于 4 GB 怎么办?
最佳答案
在带有 glibc 的 Linux 上,ftell 返回一个 off_t
;根据标志 off_t
可能是 32 位或可能是 64 位。
在 Linux 上,您可以通过 getconf LFS_CFLAGS
(LFS 代表大文件支持)获得 64 位 off_t
的适当标志。
关于c - 如何获取大型(> 4 GB)文件的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2800339/