我正在尝试读取存储在二进制文件中的 4 字节数字,但我似乎没有得到正确的输出。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int res;
FILE *file;
float v;
//Open file
file = fopen("prj3.dat", "rb");
if (!file)
{
printf("Unable to open file input.dat\n");
}
else
{
res = fread(&v, sizeof(v), 1, file);
if(res==-1)
{
printf("Unable to open file input.dat\n");
}
else
{
printf("v = %f\n", v);
}
}
return;
}
我的输出是 v = -961576900.0000000,但它应该是 v = 3.14159。关于我的问题出在哪里的任何想法?
注意。input.dat 是二进制文件:11010000 00001111 01001001 01000000
谢谢