我想使用c将一系列数字存储到二进制文件中,以便稍后使用
python打开.目前我在c中命名为* writer.cpp的脚本如下:
#include
int main()
{
std::ofstream outFile;
outFile.open("binaryFile.bin",std::ios::binary);
int number = 0;
for (int i=0; i<10; i++){
number += i;
outFile.write(reinterpret_cast(&number),sizeof(int));
}
outFile.close();
return 0;
}
编译时哪个
g++ -o writerTest.x writer.cpp
并运行
./writerTest.x
生成一个名为“binaryFile.bin”的二进制文件.
然后我尝试使用python使用以下名为reader.py的脚本来阅读它:
import numpy as np
from sys import argv
path = str(argv[1])
x = np.fromfile(path)
print x,type(x)
像这样运行
python reader.py binaryFile.bin
产生以下结果
[ 2.12199579e-314 1.27319747e-313 3.18299369e-313 5.94158822e-313
9.54898106e-313]
这显然不是我所希望的.我做错了什么,应该如何妥善完成?