如何从二进制文件读取和写入浮点数?

程序应该如何从C语言或Vala语言中读取和写入二进制文件中的浮点数?

用于写入和读取的通用API通常设计为以字节格式写入。 我的意思是你必须将一个字节数据的数组写入文件并以相同的格式读取。

我正在寻找一种以浮动格式编写和读取的方法。 没有类型转换,无需将数字更改为字符串。 可能吗?

fwrite()和fread()或write()和read()都可以正常工作。

float da, db ; ... fwrite( &da, 1, sizeof(da), fpout ) ; ... fread( &db, 1, sizeof(db), fpin ) ; 

在Vala你可以做到:

 public void main() { float foutvalue = 5.55; { //Need to make vala close the output file! var output = FileStream.open("floatfile","w"); output.printf("%f", foutvalue); } float finvalue = 0.0; { var input = FileStream.open("floatfile", "r"); input.scanf("%f", out finvalue); } print(@"$finvalue\n"); }