输出二进制数据缺少一些字节

时间:2016-02-26 02:00:59

标签: c++ fstream ofstream

我有以下代码

fin.close();
open = inName + ".xxx";
fin.open(open.c_str(),ios::binary);
fin>>noskipws;

while (fin>>_4byte[0])
{
    fout<<_4byte[0];
}

我也在二进制模式下打开fout。 但是,这段代码工作得很好,但是在它停止输出所有数据之前添加一个循环之后突然间,它在33~55字节左右丢失。 我尝试删除所有其他fin.openfin.close来保留这一个,但我继续遇到同样的问题,即输出文件缺少某些数据。

_4byteunsigned char array

1 个答案:

答案 0 :(得分:0)

所以我解决了,问题是我只需要在while循环之后添加fin.close()。我不确定为什么会这样。有人可以解释原因吗?

编辑: 好的,这不是问题。 在这段代码之后我有一个cin,如果它还没有写完,它实际上会在它到达cin时停止写入。