Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Apr 2, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Detecting end-of-file in Input Streams

std::istream and std::ifstream objects define the eof() member function which returns true when the stream object has reached the end of a file. Note that at least one read operation must be performed to raise the eof() flag. Thus, opening an empty file or positioning the file pointer at a file's end alone won't cause the eof() function to return true. You must read at least once from the stream or file afterwards.

Here's a simple program that reads input from the keyboard until the user presses CTL-Z (the equivalent to EOF on most platforms) and then displays all the previously entered characters back on the user's screen:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
 vector <char> buff; // for storing input
 char c;
 while(cin.get(c) && (!cin.eof())) //until CTL-Z is pressed
 for (int i=0; i<buff.size(); ++i) // display input
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date