Check file status : File Status « File « C++






Check file status

 

#include <iostream>
#include <fstream>
using namespace std;

void checkstatus(ifstream &in);

int main(int argc, char *argv[])
{
  if(argc!=2) {
    cout << "Usage: DISPLAY <filename>\n";
    return 1;
  }

  ifstream in(argv[1]);

  if(!in) {
    cout << "Cannot open input file.\n";
    return 1;
  }

  char c;
  while(in.get(c)) {
    cout << c;
    checkstatus(in);
  }

  checkstatus(in);  // check final status
  in.close();

  return 0;
}

void checkstatus(ifstream &in)
{
  ios::iostate i;

  i = in.rdstate();
  
  if(i & ios::eofbit) 
    cout << "EOF encountered\n";
  else if(i & ios::failbit)
    cout << "Non-Fatal I/O error\n";
  else if(i & ios::badbit)
    cout << "Fatal I/O error\n";
}

           
         
  








Related examples in the same category

1.End of file sign
2.I/O Status
3.The string pointed to by mode determines how the file will be opened. The following table shows the legal values for mode. (Strings like ?+b?may also be represented as ?b+.?