すいません、ちょっと質問。
inputとoutputが同じファイルを指すストリームであるとして

書き込みプログラムで
int a = 0;
output.write((char*)&a, sizeof(int));

読み込みプログラムで
while (!input.eof())
{
input.read((char*)&b, sizeof(int));
cout << b << endl;
}

とすると
0
0
と二回結果が返ってきます。
一回しか書き込んでないのになぜ?