The Microsoft Input/Output Stream Classes (iostream.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
fstream::fstream
◄fstream► ◄Up► ◄Contents► ◄Index► ◄Back►
──The Microsoft iostream Classes────────────────────────────────────────────
fstream();
fstream( const char* szName, int nMode,
int nProt = filebuf::openprot );
fstream( filedesc fd );
fstream( filedesc fd, char* pch, int nLength );
Parameter Description
<szName> The name of the file to be opened during construction.
<nMode> An integer that contains mode bits defined as ios
enumerators that can be combined with the bitwise-OR (|)
operator:
Value Meaning
ios::app The function performs a seek to the end of
file. When new bytes are written to the
file, they are always appended to the end,
even if the position is moved with the
ostream::seekp function.
ios::ate The function performs a seek to the end of
file. When the first new byte is written to
the file, it is appended to the end, but
when subsequent bytes are written, they are
written to the current position.
ios::in The file is opened for input. The original
file (if it exists), will not be
truncated.
ios::out The file is opened for output.
ios::trunc If the file already exists, its contents
are discarded. This mode is implied if
ios::out is specified and ios::ate,
ios::app, and ios:in are not specified.
ios::nocreate If the file does not already exist, the
function fails.
ios::noreplace If the file already exists, the function
fails.
ios::binary Opens the file in binary mode (the default
is text mode).
Note that there is no ios::in or ios::out default mode for
fstream objects. You must specify both modes if your fstream
object must both read and write files.
<nProt> The file protection specification; defaults to the static
integer filebuf::openprot that is equivalent to
filebuf::sh_compat. The possible <nProt> values are as
follows:
Value Meaning
filebuf::sh_compat Compatibility share mode.
filebuf::sh_none Exclusive mode──no sharing.
filebuf::sh_read Read sharing allowed.
filebuf::sh_write Write sharing allowed.
The filebuf::sh_read and filebuf::sh_write modes can be
combined with the logical OR (|) operator.
<fd> A file descriptor as returned by a call to the run-time
function _open or _sopen. filedesc is a typedef equivalent
to int.
<pch> Pointer to a previously allocated reserve area of length
<nLength>. A NULL value (or <nLength> = 0) indicates that
the stream will be unbuffered.
<nLength> The length (in bytes) of the reserve area (0 = unbuffered).
Remarks
The four fstream constructors are described as follows:
Constructor Description
fstream() Constructs an fstream object without
opening a file.
fstream( const char*, int, int ) Contructs an fstream object, opening
the specified file.
fstream( filedesc ) Constructs an fstream object that is
attached to an open file.
fstream( filedesc, char*, int ) Constructs an fstream object that is
associated with a filebuf object. The
filebuf object is attached to an open
file and to a specified reserve
area.
All fstream constructors construct a filebuf object. The first three use
an internally allocated reserve area, but the fourth uses a
user-allocated area. The user-allocated area is not automatically
released during destruction.
-♦-