File handling in C++ works almost identically to terminal input/output. To use files, you
write #include <fstream>
at the top of your source file. Then you can access two classes
from the std namespace:
ifstream
: allows reading input from filesofstream
: allows outputting to filesEach open file is represented by a separate ifstream or an ofstream object. You can use ifstream objects in excatly the same way as cin and ofstream objects in the same way as cout, except that you need to declare new objects and specify what files to open. For example:
#include <fstream>
using namespace std ;
int main () {
ifstream source (" source - file . txt ");
ofstream destination ("dest - file . txt ");
int x;
source >> x; // Reads one int from source - file . txt
source . close (); // close file as soon as we ’re done using it
destination << x; // Writes x to dest - file . txt
return 0;
} // close () called on destination by its destructor
As an alternative to passing the filename to the constructor, you can use an existing ifstream
or ofstream object to open a file by calling the open method on it: source.open("other-file.txt");
.
Remember to close your files using the close()
method when you’re done using them.
You can specify a second argument to the constructor or the open method to specify what “mode” you want to access the file in – read-only, overwrite, write by appending, etc. Check documentation online for details.