我只是对如何获取包含十六进制数字的文件的长度有一个简短的问题。
例如:
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/