Если поток поиска за пределами конца не возвращает eof в VS 2008 Express?

В VS 2005 у меня есть код, который выглядит следующим образом:

ifs.open("foo");
while (!ifs.eof())
{
    ifs.read(&bar,sizeof(bar));
    loc = ifs.tellg();
    loc += bar.dwHeaderSize;
    // four byte boundary padding
    if ((loc % 4) != 0)
        loc += 4 - (loc % 4);
    ifs.seekg(loc,ios::beg);
}
ifs.close();

Код работал нормально в VS 2005, но не работает в VS 2008 Express. Из того, что я могу сказать, VS 2008 не возвращает eof () после поиска кода в конце файла. Я что-то пропустил? Я исправил это, добавив явную проверку, чтобы увидеть, превышает ли место поиска размер файла, но я хочу убедиться, что я правильно понимаю ifstream.

Ответы на вопрос(1)

Ваш ответ на вопрос