我正在将数字从数组写入二进制文件,但是以某种方式,当我打印文件最后一次打印两次时。我不确定我的写作或阅读方式是否有问题。
这就是我写文件的方式
for (int k = i - 1; k>-1; k--) {
file2.write(reinterpret_cast<char *>(&arr[k]), sizeof(int));
}
这就是我从文件中读取和打印的方式
while ( file2 ) {
int val;
file2.read(reinterpret_cast<char *>(&val), sizeof val);
cout << val << endl;
}
因此,如果数字数组为31 29 47,则打印文件将给出
47
29
31
31