Mega Code Archive

 
Categories / C++ Tutorial / File Stream
 

Read integer from a text file

#include <fstream> #include <iostream> #include <vector> #include <string> #include <stdexcept> using namespace std; void readIntegerFile(const string& fileName, vector<int>& dest)throw (invalid_argument, runtime_error) {   ifstream istr;   int temp;   istr.open(fileName.c_str());   if (istr.fail()) {     string error = "Unable to open file " + fileName;     throw invalid_argument(error);   }   while (istr >> temp) {     dest.push_back(temp);   }   if (istr.eof()) {     istr.close();   } else {     istr.close();     string error = "Unable to read file " + fileName;     throw runtime_error(error);   } } int main(int argc, char** argv) {   vector<int> myInts;   const string fileName = "test.txt";   try {     readIntegerFile(fileName, myInts);   } catch (const invalid_argument& e) {     cerr << e.what() << endl;     exit (1);   } catch (const runtime_error& e) {     cerr << e.what() << endl;     exit (1);   }   for (unsigned int i = 0; i < myInts.size(); i++) {     cout << myInts[i] << " ";   }   cout << endl;   return (0); }