Я пытаюсь прочитать в тексте из файла, и это то, что я делаю:Почему я дважды читаю последнее слово в своем файле?
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 достаточно скоро. Как можно это исправить?
Вы также должны добавить шаблон файла (если он не слишком длинный) – Arne
Файл может быть «хорошим», но следующий элемент 'inFile >> может все еще не работать, и вы все равно вывозите его. –