The iostream library not only supports input and output from terminal devices, but also file input and output. File-related input and output class declarations are included in the fstream header file. There are three classes responsible for file input and output.
1) ifstream class: Derived from istream class.
2) ofstream class: Derived from ostream class.
3) fstream class: Derived from iostream class.
Because the input and output of files are different from the input and output of the keyboard and mouse, generally there is only one keyboard device on the PC. Therefore, the iostream library declares an istream object cin, this object is responsible for retrieving data from the keyboard, and many file devices are used in the system, therefore, the iostream library cannot create an ifstream object for each file on the machine and an ofstream object for Data Writing, therefore, when reading or writing data to a file, you must create an ifstream or ostream object.
The default constructor of the ofstream class is as follows:
Ofstream: ofstream ( Const Char * Filename, Int Mode = IOS :: Out , Int Openport = Filebuf: openport );
Filename is the name of the file to be opened,
Mode is enabled,
Openport is the attribute of opening a file.
The mode can be set as follows:
IOS: The app is opened in append mode.
IOS: ate file is opened and located at the end of the file
IOS: Binary open a file in binary format. It is opened in text format by default.
IOS: In file opened in read (input) Mode
IOS: Out file opened in write (output) Mode
IOS: trunc clear the file if the file exists.
The preceding attributes are connected by "|" (by bit or.
The openprot attributes are as follows:
0 common files
1 read-only file
2. Implicit File
4. system files
The preceding attributes can be organized by adding or by bit. For example, 1 | 2 and 3 indicate both read-only and implicit files.
In Windows, do not use the third parameter. If the third parameter is added, the third parameter is the file sharing mode, that is, when the file is opened, whether other processes can read and write the file.
The sharing mode parameter can be the following values:
0x10 // _ sh_denyrw denies read and write access to the file
0x20 // _ sh_denywr denies write access to the file
0x30 // _ sh_denyrd denies read access to the file.
0x40 // _ sh_denyno permits read and write access
The error "invalid sharing flag" is reported for other values.
Ofstream hfile ( " C: \ 1.txt " , IOS :: Out , _ Sh_denyrw ); // _ Sh_denyrw is deny read and write
If ( ! Hfile) // If the file cocould open, hfile is a handle, else is zero
{
Cout < " Write fail! " < Endl;
Cout < " Access is denies, maybe the file is readonlys, or use deny read opened of other process. " < Endl;
}
Else
{< br> hfile " by coderlee writes " ;< br> cout " write success! " Endl;
}
Hfile. Close (); // Opened file need close.
The above is an example of file writing.CodeFirst, open the file, and then determine whether it is 0. If it is 0, the system will prompt write fail; otherwise, the system will prompt write success.