Как вы перестаете читать целое число из текстового файла, когда сталкиваются с отрицательным целым числом?
Я пытаюсь написать простой код на 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;
}
}