为什么这个IO操作无限循环?

Zer*_*ide 0 c++ atoi ifstream strtok

我试图从文本文件中读取并标记输入.我收到了一个分段错误,直到我意识到我忘了关闭我的ifstream.我添加了close调用,现在它无限循环.我现在只是想学习如何使用strtok,这就是为什么代码看起来并不完整.

void loadInstructions(char* fileName)
{
   ifstream input;
   input.open(fileName);
   while(!input.eof());
   {
      string line; 
      getline (input,line);
      char * lineChar = &line[0];
      //instruction cmd; //This will be used later to store instructions from the parse
      char * token;
      token = strtok (lineChar," "); 
      // just trying to get the line number for now
      int lineNumber = atoi(token);
      cout << lineNumber << "\n";
   }
   input.close();
}

输入文件:(一行)

5 +8 0 0 25