Как вы перестаете читать целое число из текстового файла, когда сталкиваются с отрицательным целым числом?

Я пытаюсь написать простой код на C++ для чтения целого числа из текстового файла, код должен прекратить чтение, когда он встречает отрицательное целое число. В текстовом файле содержится 1 положительное целое число в каждой строке, а последняя строка - отрицательное целое число.

Мой код прямо сейчас использует eof, и он также читает отрицательное целое число, чего я не хочу.

while(!inFile.eof())
{
    inFile >> data;
}

Текстовый файл

10
22
33
34
-1   

Заранее спасибо:)

4 ответа

Решение

Хмм..

int data = 0;
while(inFile >> data && data >= 0) 
{
 // do stuff with data.
}

По крайней мере, вам нужно прочитать отрицательное число, чтобы определить, что вы достигли конца ввода.

while( inFile >> data)
{
    if ( data < 0 ) break;
}
while(!infile.eof())
{
infile>>data;
if(data>0)
cout<<data;
}

прочитайте из файла, проверьте, если он больше нуля, затем распечатайте его

Может быть, что-то вроде этого, которое пытается проверить входящее целое число, будет работать:

while(!inFile.eof())
{
    inFile >> data;
    if ( data < 0 ) {
      break;
    }
}
Другие вопросы по тегам