dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


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

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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
  buff.push_back(c);
 cout<<endl;
 for (int i=0; i<buff.size(); ++i) // display input
  cout<<buff[i];
} 
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


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

 

 

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