c - 如何获取大型(> 4 GB)文件的文件大小?

标签 c large-files filesize

当文件大小大于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/

相关文章:

c - xv6 中 open() 定义的位置

Android HttpsURLConnection on 2.3.4 OutOfMemoryError while uploading Large File (byte[] in memory)

vim - 无法使用 vim 打开大文件,以 "new file"模式打开

javascript - 当 cookie 文件超过最大大小时会发生什么?

app-store - AppStore App文件大小是什么意思?

powershell - 添加Get-ChildItem列表的文件大小

创建硬编码定义的变体

c - 动态字符串数组

c++ - 使用GDB查找某个函数对应的内存地址/调试

algorithm - 置换外部存储器的实用算法