Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

detecting end of input with cin

Tags:

c++

user-input

I want to read a line of integers from the user. I'm not sure how to check to see if the input has ended. For example I want to be able to do something like

int x[MAX_SIZE];
int i = 0;
while(cin.hasNext())
{
  cin >> x[++i];
}

Example input: 2 1 4 -6

how can I check to see if there's any more for cin to take?

like image 689
Celeritas Avatar asked Jan 29 '14 01:01

Celeritas


1 Answers

Yo have to do the following

int temp;

vector<int> v;
while(cin>>temp){
    v.push_back(temp);
}

also you can check for end of input using

if(cin.eof()){
    //end of input reached
}
like image 74
Miguel Carvajal Avatar answered Oct 23 '22 18:10

Miguel Carvajal