basic_fstream class template — Class template for file input and output streams
template <class charT, class traits=char_traits<charT> > class basic_fstream : public basic_iostream<charT,traits> { public: typedef charT char_type; typedef typename traits::int_type int_type; typedef typename traits::pos_type pos_type; typedef typename traits::off_type off_type; typedef traits traits_type; basic_fstream( ); explicit basic_fstream(const char* filename, ios_base::openmode mode = ios_base::in|ios_base::out); basic_filebuf<charT,traits>* rdbuf( ) const; bool is_open( ); void open(const char* filename, ios_base::openmode mode = ios_base::in|ios_base::out); void close( ); };
The basic_fstream
class
template supports reading and writing to and from named files using
a basic_filebuf<charT
,
traits>
object. (See <istream>
for a description of the
base-class template, basic_iostream
.) In the following member
function descriptions, the file buffer object is assumed to be a
private data member with the name
buf
.
basic_fstream
( )
Constructor initializes the base class with basic_iostream(&
buf
)
and initializes
buf
with its default
constructor.
explicit
basic_fstream
(const
char*
filename, ios_base::openmode
mode
=
ios_base::in
|
ios_base::out)
Initializes the base class and
buf
, then calls open(filename
, mode)
. If open
returns a null pointer, the
constructor calls setstate(failbit)
.
basic_filebuf<charT
,
traits>*
rdbuf
( )
const
Returns &
buf
.
bool
is_open
( )
Returns rdbuf( )->is_open(
)
.
void
open
(const
char*
filename, ios_base::openmode
mode
=
ios_base::in
|
ios_base::out)
Calls rdbuf(
)->open(filename
, mode)
. If that function returns a
null pointer, open
calls
setstate(failbit)
.
void
close
( )
Calls rdbuf( )->close(
)
. If that function fails, close
calls setstate(failbit)
.