.eof () цикл не работает

Я пытаюсь читать числа из файла и помещаю их в массив. Прямо сейчас, когда я запускаю программу, она печатает 8 цифр, затем строка заканчивается и печатает те же 8 цифр. Это в бесконечном цикле. Что я делаю неправильно?

#include <iostream>                                                             
#include <fstream>                                                              
using namespace std;                                                            

int main()                                                                      
{                                                                               
  int num;                                                                      
  ifstream infile;                                                              
  infile.open("euler8Nums.txt");                                                
    infile >> num;//must attempt to read info prior to an eof() test            
    while(!infile.eof()){                                                       
      cout << num << endl;                                                      
      infile >> num;                                                            
    }                                                                           
    infile.close();                                                             
    return 0;                                                                   
}  

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

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