Quando un principiante inizia a leggere ifstreams, il suo istinto è quello di leggere il file usando un ciclo che di solito assomiglia a questo:
while (!ifstream.eof()
{
...
}
Tuttavia, quando ho usato questo codice ho notato che non si è fermato fino a quando non ha letto due volte l'ultima riga del file. I programmatori C ++ notano che questo non è in realtà il modo in cui si dovrebbe leggere un file. Invece, di solito raccomandano a chiunque abbia bisogno di leggere un file di usare un ciclo come questo:
while (ifstream >> someVar)
{
...
}
Perché il primo pezzo di codice non funziona sempre correttamente?