我有一个浮点数组,我想以二进制形式输出到文件中。我的相关代码如下:
FILE *binFile;
binFile = fopen(fileName, "wb");
if (binFile)
{
fwrite(completeList, sizeof(float), size, binFile);
}
现在,completeList 是一个指向我所说的浮点数组的指针,而 size 是我传递给它的另一个参数,指示有多少元素。
当它被输出到二进制文件时,打开该文件会显示一堆随机的 ASCII 字符。我知道这是我应该期待的,但是当我将它通过十六进制编辑器时,它会显示随机废话。
我究竟做错了什么?
编辑:
我的解析代码:
FILE *bofFile = fopen(file, "rb");
if(bofFile)
{
float *tempArray;
fseek(bofFile, 0, SEEK_END);
unsigned long int size = ftell(bofFile) / sizeof(float);
tempArray = (float *)malloc(size);
fread(tempArray, sizeof(float), size, bofFile);
std::cout << tempArray[0];
}