我试图从文件中的文本阅读,这是我在做什么:为什么我在文件中读到最后一个字两次?
int main(int argc, char* argv[])
{
ifstream inFile;
inFile.open(argv[1]);
string item;
while(inFile.good())
{
inFile >> item;
cout << item << " " << endl;
}
出于某种原因,它会读取文件中的最后一个字的两倍。我试着用count
变量来跟踪它进入while循环的次数,它总是比文件中的总行数多一倍。我认为这是因为inFile.good()
声明不会很快返回false。如果解决它,该怎么办?
你应该添加的文件contet太(如果它不是太长) – Arne
该文件可能是“好”,但接下来的'INFILE >> item'仍然可能会失败,你的输出也无妨。 –