c - 如何在c中获取文件长度?

标签 c file io filesize

我只是对如何获取包含十六进制数字的文件的长度有一个简短的问题。
例如:

724627916C


我能想到的唯一方法是将十六进制值转换为二进制:

724627916C => 0111001001000110001001111001000101101100


然后计算二进制值的位数。
只想知道这是否是正确的方法?谢谢

最佳答案

没有,
这不是正确的方法。

FILE *fp = fopen("filename", "rb");
fseek(fp, 0, SEEK_END);
int lengthOfFile = ftell(fp);
fclose(fp);


原则上:打开文件,搜索到最后并获取当前位置。您将获得文件中的字节数。

编辑:您的问题尚不清楚。您要检索文件中的字节数,还是文件中十六进制字符串表示的字节数?如果是后者,并且文件中没有空格,则将上述方法返回的字节数除以2。

关于c - 如何在c中获取文件长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1669676/

相关文章:

android - 在 Android 上保存数据 : File Storage vs SQLite Database vs Shared Preferences

c# - File.Move 前面有 File.Delete 时失败

c++ - 在 c/c++ 中的源文件之间共享变量的最佳策略是什么?

linux - 如何在 unix 操作系统中搜索文件中不包含特定字符串的行?

c - 数字的奇数频率和

android - 关于如何打开现有 Android 应用程序的困惑

node.js - Node.js/libuv 如何使用 react 器模式支持异步 io

c# - 使用线程(任务)做工作包含 I/O

c++ - Quicksort 出现段错误

c++ - 我可以通过链接此 dl 从动态库加载函数,但如果不链接此 dl,我无法在代码中使用 'dlsym' 加载它