c - 我们如何使用 fgetpos() 来获取文件的大小

标签 c gcc

我们如何使用fgetpos()来获取文件的大小?我实际上想显示一个大文件的文件大小(3-10 Gb)

最佳答案

尝试

FILE * fp = fopen(filename, "r");

// seek to the end
fseek(fp, 0, SEEK_END);

fpos_t flesize;
// get current position
fgetpos(fp, &flesize);

不过我宁愿推荐fstat:

struct stat file_stat;
fstat(fileno(fp), &file_stat);

printf("File size : %zd bytes\n", file_stat.st_size);

关于c - 我们如何使用 fgetpos() 来获取文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22667399/

相关文章:

c拼图(if语句)

c - VLA 作为函数参数的语法

无法从 Makefile 链接静态库

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

c - 在 onc RPC 中,哪些是服务器文件,哪些是客户端文件?文件的意义是什么?

c++ - 您如何编写(可移植的)反向网络字节顺序?

c++ - 有什么简单的方法可以在 C/C++ 的 Linux 下获取夏令时转换时间

linux - 如何使用 autotools、make 和 gcc 在 64 位 (Ubuntu 12.04LTS) Linux 上编译和安装 32 位库?

gcc - 在 ubuntu 11.04 上自定义构建的 gcc 4.6.0 链接错误的 libstdc++

c++ - 在类中添加枚举定义会破坏其二进制向后兼容性吗?