我正在尝试将double变量写入二进制文件。我正在使用以下代码:
double x = 1.;
ofstream mfout;
mfout.open("junk.bin", ios::out | ios::binary );
mfout.write((char*) &x, sizeof(double));
mfout.close();
将输出二进制文件转换为ASCII后返回给我的内容是
.......
必须读取文件的第三方软件也返回错误,表明存在问题。如果有人指导我,我将很感激。
答案 0 :(得分:0)
将输出二进制文件转换为ASCII后返回给我的内容是
.......
不。如果您将其解释为ASCII而不进行转换,那么它将返回给您。由于它不是ASCII,因此将其解释为ASCII会产生废话。
必须读取文件的第三方软件也返回错误,表明存在问题。
然后听起来第三方软件不需要二进制文件,因为这就是您编写的内容。
该文件是二进制文件,而不是ASCII文件。只有期望二进制格式为单个双精度的东西(平台恰巧与编译器选项一起使用的任何二进制格式等等)都可以理解。