Streams are a flexible and object-oriented approach to I/O. In this chapter, we will see how to use streams for data output and input. We will also learn how to use. C++ has support both for input and output with files through the following classes: ofstream: File class for writing operations (derived from ostream); ifstream: File. File I/O in C++ works very similarly to normal I/O (with a few minor added complexities). There are 3 basic file I/O classes in C++: ifstream.
|Country:||Saint Kitts and Nevis|
|Genre:||Health and Food|
|Published (Last):||14 May 2010|
|PDF File Size:||8.47 Mb|
|ePub File Size:||6.16 Mb|
|Price:||Free* [*Free Regsitration Required]|
The ifstream class derives from the istream class, and enables users to access files and read data from them. The ofstream class derives from the ostream class, and enables users to access files and write data to them. The fstream class is derived from both the ifstream and ofstream classes, and enables users to access files for both data input and output. These functions are defined in the fstream header file. The o pen function is a member of the ifstream or ofstream class; the function in its most basic form takes a single rstream, the path to the desired file.
As second argument that can be sent to the open member function is the mode, which tutoroal based on a set of predefined constants. We can use the seekgseekptellg and tellp functions to enable random access fstreaam files. The seekg and tellg functions are used with ifstream objects, and the seekp and tellp functions are used with ofstream objects. Input and output is oriented around three classes: As of the current standard, istream and ostream are included in the iostream class.
This class provides use with three predefined variables — cin, for console input, cout, for console output, and cerr, for standard error. Fsteeam file version of the stream classes are included in the fstream header file. The input file variable is ifstream and the output file tuhorial is ostream, meaning that the ifstream is used to read data fstrezm a file and the ofstream is used to write data to a file. We use the member function open to open a file for reading or writing.
We pass the open function the path of the file to open. We can write to and read from a file using the same statements we have been using to read from and write to cin and cout. Reading from a file is a bit trickier. We need to tutorizl the data from the file into a storage unit, such as a variable.
If we know the type of data that is stored in the file this is easy to do. We can also read from the file into a char array that acts a buffer for the data. We do this using the read member function, which accepts two arguments, a pointer to the char array buffer and the number of characters to be read into the buffer.
We can use the fail member function to see if ifstream or ofstream is in the fail state. As always, please take a gander at my book on C at http: Files afford tytorial storing of data so that they can be later be used. We have already seen how the built-in streams cin and cout are used for the movement of data into and out of programs.
18.6 — Basic file I/O
Now, we will look at how to use file stream variables to move data between an external file and a program. A file stream variable is an object. The class of an input file stream variable is ifstream and the class of an output file stream variable is ofstream.
To call a member function of either an ifstream or ofstream object we use dot notation, which consists of the object name followed by a period followed by the name of the function we wish to call.
C++ tutorial: , Input/Output with files
As we have just seen in the program above, an output file stream is an object of the data type ofstream. We attach the ofstream object to a particular file by passing the filename to the ofstream opbject via the open member function. If tutoroal file does not exist, the open member function generates it and positions the output stream pointer at the beginning of the file.
If the file already exists, the open function causes the file to be overwritten, unless we use the ofstream:: Note that after a call to the open member tutoriall the file pointer is set to the first item of the file.
We can use the eof member function to ftream whether the end of an input file stream has been passed. The value returned by the eof member function is 1 when we fxtream read pas the end of the file; otherwise, the value returned is 0.
Take a look at my Amazon page at http: We include the standard header file fstream whenever we use functions involving output files. The file created by the program will be located within the directory under which our program executes. Again, the output path uses the current tutofial directory as the location to create the file.
A file is simply a secondary storage area used to hold information. Note that we must declare file stream variables of type ifstream in order to receive input from a file, and ofstream in order to output from a file.
Remember, the ifstream represents a stream of characters coming from an input file. We use ofstream to represent a stream of characers going to an output file. Both ifstream variables and ofstream variables use the open function call to fstgeam a file.
Each function call accepts a string argument tutofial contains the path to the file to be opened. Our final program copies the contents from one file to another using an extremely primitive system of reading from ifstream into a string and then sending the string to ofstream.
Unfortunately, this does not preserve whitespace! Declaring input and ouput objects is simple.