从二进制文件打印数字时出现问题

时间:2019-05-15 05:48:46

标签: c++ fstream

我正在将数字从数组写入二进制文件,但是以某种方式,当我打印文件最后一次打印两次时。我不确定我的写作或阅读方式是否有问题。

这就是我写文件的方式

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

0 个答案:

没有答案