Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you stop reading integer from text file when encounter negative integer?

Tags:

c++

Im trying to write a simple code in c++ to read in integer from a text file, the code should stop reading when it encounter a negative integer. The txt file contains 1 positive integer on each line, and the last line is a negative integer.

My code right now using eof, and it reads in negative integer also, which I dont want.

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

Text file

10
22
33
34
-1   

Thanks in advance :)

like image 673
Kyle Mai Avatar asked Aug 18 '26 22:08

Kyle Mai


2 Answers

hmm..

int data = 0;
while(inFile >> data && data >= 0) 
{
 // do stuff with data.
}
like image 102
Nim Avatar answered Aug 21 '26 12:08

Nim


You would at least need to read the negative number to determine that you have reached end of input.

while( inFile >> data)
{
    if ( data < 0 ) break;
}
like image 30
Shamim Hafiz - MSFT Avatar answered Aug 21 '26 12:08

Shamim Hafiz - MSFT



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!