我想出了以下代码:
#include <stdio.h>
#include <iostream>
#include <fstream>
int main() {
std::ifstream a0;
a0.open("data/a0", std::ios::in | std::ios::binary);
double d;
a0 >> d;
printf("%e\n", d);
}
我编译
g++ -s -Wall -Wextra -pedantic -std=c++0x -o program program.cpp
但它不起作用 - 它打印 0 (文件的实际前 8 个字节是3D 8F A0 BB E0 00 00 00
)。更有趣的是,当data/a0
文件不存在时,会输出垃圾,但如果文件存在,则输出总是严格为 0。
我究竟做错了什么?