, 나는 다음과 같다 몇 가지 코드가 있습니다ifstream seekg beyond end가 VS 2008 Express에서 eof를 반환하지 않습니까? 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을 올바르게 이해하고 있는지 확인하고자합니다.