I am using the following code:
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
char c ;
c = cin.get() ;
do {
cout.put(c) ;
c = cin.get() ;
} while ( !cin.eof()) ;
cout << "coming out!" << endl;
return 0;
}
Problem with the above code is, its not getting out of loop, which means its not printing “coming out”. Anybody can help why it is so? I am testing this program on mac and linux.
Thanks
Standard in never hits EOF, unless you press Ctrl+Z.
Therefore,
cin.eof()is always false.To fix it, press Ctrl+Z to send an End-Of-File character.
Alternatively, you could change the condition. (eg,
while(c != '\n'))