<分区>
我有一个 float 组,我想以二进制形式输出到一个文件中。我的相关代码如下:
FILE *binFile;
binFile = fopen(fileName, "wb");
if (binFile)
{
fwrite(completeList, sizeof(float), size, binFile);
}
现在,completeList 是一个指向 float 组的指针,而 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];
}