Если поток поиска за пределами конца не возвращает 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.