Ответ 1
хмм..
int data = 0;
while(inFile >> data && data >= 0)
{
// do stuff with data.
}
Я пытаюсь написать простой код в С++ для чтения в integer из текстового файла, код должен прекратить чтение, когда он встретит отрицательное целое число. Файл txt содержит 1 положительное целое число в каждой строке, а последняя строка - отрицательное целое число.
Мой код прямо сейчас, используя eof, и он также читает в отрицательном целом, чего я не хочу.
while(!inFile.eof())
{
inFile >> data;
}
Текстовый файл
10
22
33
34
-1
Заранее спасибо:)
хмм..
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;
}
}