>>414
input.eof()がtrueになるのは、一度読み込んでみてからでないと
判断できない。

だから

while (true)
{
input.read((char*)&b, sizeof(int));
if (input.eof()) break;
cout << b << endl;
}

ではないかと思うのだが。