Data File - Opening and Closing Files in C++

Opening and Closing Files in C++

In C++, opening of files can be achieved in two ways:

  1. Using the constructor function of the stream class.
  2. Using the function open.

The first method is preferred when a single file is used with a stream, however, for managing multiple files with the same stream, the second method is preferred.

  • Opening files using Constructors
ifstream input_file("DataFile");

The data being read from DataFile has been channelised through the input stream as shown:

The above given statement creates an object (input_file) of input file stream. The object name is a user defined name. After creating the ifstream object input_file, the file DataFile is opened and attached to the input stream input_file. Now both, the data being read from DataFile has been channelised through the input stream object. The connections with a file are closed automatically when the input and output stream objects expire i.e., when they go out of scope. (For instance, a global object expires when the program terminates). Also you can close a connection with a file explicitly by using close method

input_file.close;

Closing such a connection does not eliminate the stream, it just disconnects it from the file. The stream still remains there. Closing a file flushes the buffer which means the data remaining in the buffer (input or output stream) is moved out of it in the direction it is ought to be.

  • Opening files using open function
ifstream filin; //create an input stream filin.open("Master.dat"); //associate '''filin''' stream with file Master.dat . //process Master.dat . filin.close; //terminate association with Master.dat filin.open("Tran.dat"); //associate '''filin''' stream with file Tran.dat . //process Tran.dat . filin.close; //terminate association

A stream can be connected to only one file at a time.

Read more about this topic:  Data File

Famous quotes containing the words opening, closing and/or files:

    Nay, be a Columbus to whole new continents and worlds within you, opening new channels, not of trade, but of thought.
    Henry David Thoreau (1817–1862)

    We got to start thinking beyond our guns. These days are closing fast.
    Walon Green, U.S. screenwriter, and Sam Peckinpaugh (b. 1925)

    The good husband finds method as efficient in the packing of fire-wood in a shed, or in the harvesting of fruits in the cellar, as in Peninsular campaigns or the files of the Department of State.
    Ralph Waldo Emerson (1803–1882)