在C ++中将double变量写入二进制文件

时间:2018-10-19 20:11:36

标签: c++ binary

我正在尝试将double变量写入二进制文件。我正在使用以下代码:

double x = 1.;    
ofstream mfout;
mfout.open("junk.bin", ios::out | ios::binary  );
mfout.write((char*) &x, sizeof(double));
mfout.close();

将输出二进制文件转换为ASCII后返回给我的内容是

.......

必须读取文件的第三方软件也返回错误,表明存在问题。如果有人指导我,我将很感激。

1 个答案:

答案 0 :(得分:0)

  

将输出二进制文件转换为ASCII后返回给我的内容是

     

.......

不。如果您将其解释为ASCII而不进行转换,那么它将返回给您。由于它不是ASCII,因此将其解释为ASCII会产生废话。

  

必须读取文件的第三方软件也返回错误,表明存在问题。

然后听起来第三方软件不需要二进制文件,因为这就是您编写的内容。

该文件是二进制文件,而不是ASCII文件。只有期望二进制格式为单个双精度的东西(平台恰巧与编译器选项一起使用的任何二进制格式等等)都可以理解。