我第一次使用二进制文件,我手里拿着一团头发。无论如何,我定义了以下内容:
unsigned int cols, rows;
这些变量可以是 1 到大约 500 之间的任何值。当我将它们写入二进制文件时,我正在这样做:
myFile.write(reinterpret_cast<const char *>(&cols), sizeof(cols));
myFile.write(reinterpret_cast<const char *>(&rows), sizeof(rows));
当我回去阅读文件时cols = 300
,我得到以下结果:
44
1
0
0
有人可以向我解释为什么我会得到这个结果吗?我不能说有什么问题,因为我真的认为是我不明白。我想做的是将值按原样存储在文件中,这样当我读回它时,我也会得到它。也许我知道,我只是不知道。
我想解释一下这是如何工作的,以及如何获取我输入的数据。