This is how I usually read files with std::ifstream
:
while (InFile.peek() != EOF)
{
char Character = InFile.get();
// Do stuff with Character...
}
This avoids the need of an if
statement inside the loop. However, it seems that even peek()
causes eofbit
to be set, which makes calling clear()
necessary if I plan on using that same stream later.
Is there a cleaner way to do this?