Detecting end-of-file in Input Streams

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 #include #include using namespace std;int main(){ vector  buff; // for storing input char c; while(cin.get(c) && (!cin.eof())) //until CTL-Z is pressed  buff.push_back(c); cout<

See also  How HealthStream Learning Center Supports Healthcare Education and Compliance

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist