|
/sys$common/syshlp/helplib.hlb CXXLSTD, IOStreams, basic_ofstream *Conan The Librarian |
Standard C++ Library
Copyright 1996, Rogue Wave Software, Inc.
NAME
basic_ofstream,ofstream
This page describes the ANSI basic_ofstream class. If you would
like information on the pre-ANSI ofstream class, use the command:
help cxxl
SYNOPSIS
#include <fstream>
template<class charT, class traits = char_traits<charT> >
class basic_ofstream
: public basic_ostream<charT, traits>
DESCRIPTION
The template class basic_ofstream<charT,traits> supports writing
into named files or other devices associated with a file
descriptor. It uses a basic_filebuf object to control the
associated sequences. It inherits from basic_ostream and
can therefore use all the formatted and unformatted output
functions.
INTERFACE
template<class charT, class traits = char_traits<charT> >
class basic_ofstream
: public basic_ostream<charT, traits> {
public:
typedef basic_ios<charT, traits> ios_type;
typedef charT char_type;
typedef traits traits_type;
typedef typename traits::int_type int_type;
typedef typename traits::pos_type pos_type;
typedef typename traits::off_type off_type;
basic_ofstream();
explicit basic_ofstream(const char *s,
ios_base::openmode mode =
ios_base::out,
long protection = 0666);
explicit basic_ofstream(int fd);
basic_ofstream(int fd, char_type* buf, int len);
virtual ~basic_ofstream();
basic_filebuf<charT, traits> *rdbuf() const;
bool is_open();
void open(const char *s, ios_base::openmode mode =
ios_type::out, long protection = 0666);
void close();
};
TYPES
char_type
The type char_type is a synonym for the template parameter charT.
off_type
The type off_type is a synonym of type traits::off_type.
ofstream
The type ofstream is an instantiation of class basic_ofstream on
type char:
typedef basic_ofstream<char> ofstream;
int_type
The type int_type is a synonym of type traits::in_type.
ios_type
The type ios_type is an instantiation of class basic_ios on type
charT.
pos_type
The type pos_type is a synonym of type traits::pos_type.
traits_type
The type traits_type is a synonym for the template parameter traits.
wofstream
The type wofstream is an instantiation of class basic_ofstream on
type wchar_t:
typedef basic_ofstream<wchar_t> wofstream;
CONSTRUCTORS
basic_ofstream();
Constructs an object of class basic_ofstream<charT,traits>,
initializing the base class basic_ostream with the associated
file buffer, which is initialized by calling the basic_filebuf
constructor basic_filebuf<charT,traits>(). After construction a
file can be attached to the basic_oftream object using the
open member function.
basic_ofstream(const char* s,
ios_base::openmode mode= ios_base::in,
long protection= 0666);
Constructs an object of class
basic_ofstream<charT,traits>, initializing the base class
basic_ostream with the associated file buffer, which is
initialized by calling the basic_filebuf constructor
basic_filebuf<charT,traits>(). The constructor then calls
the open function open(s,mode,protection) in order to
attach the file whose name is pointed at by s, to the
basic_oftream object. The third argument, protection, is
used as the file permissions. It does not appear in the
Standard C++ description and is provided as an extension.
It determines the file read/write/execute permissions
under UNIX. It is more limited under DOS since files are
always readable and do not have special execute permission.
explicit basic_ofstream(int fd);
Constructs an object of class basic_ofstream<charT,traits>,
initializing the base class basic_ostream with the
associated file buffer, which is initialized by calling the
basic_filebuf constructor basic_filebuf<charT,traits>(). The
constructor then calls the basic_filebuf open function
open(fd) in order to attach the file descriptor fd to the
basic_oftream object. This constructor is not described in
the C++ standard, and is provided as an extension in order
to manipulate pipes, sockets or other UNIX devices, that can be
accessed through file descriptors. If the function fails, it sets
ios_base::failbit.
basic_ofstream(int fd, char_type* buf,int len);
Constructs an object of class basic_ofstream<charT,traits>,
initializing the base class basic_ostream with the
associated file buffer, which is initialized by calling the
basic_filebuf constructor basic_filebuf<charT,traits>(). The
constructor then calls the basic_filebuf open function
open(fd) in order to attach the file descriptor fd to the
basic_oftream object. The underlying buffer is then
replaced by calling the basic_filebuf member function setbuf
with parameters buf and len. This constructor is not described
in the C++ standard, and is provided as an extension in order
to manipulate pipes, sockets or other UNIX devices, that can
be accessed through file descriptors. It also maintains
compatibility with the old iostreams library. If the function
fails, it sets ios_base::failbit.
DESTRUCTOR
virtual ~basic_ofstream();
Destroys an object of class basic_ofstream.
MEMBER FUNCTIONS
void
close();
Calls the associated basic_filebuf function close() and if this
function fails, it calls the basic_ios member function
setstate(failbit).
bool
is_open();
Calls the associated basic_filebuf function is_open() and return
its result.
void
open(const char* s,ios_base::openmode =
ios_base::out, long protection = 0666);
Calls the associated basic_filebuf function
open(s,mode,protection) and, if this function fails opening the
file, calls the basic_ios member function setstate(failbit).
The third argument, protection, is used as the file permis-
sions. It does not appear in the Standard C++ description and
is provided as an extension. It determines the file
read/write/execute permissions under UNIX, and is more limited
under DOS since files are always readable and do not have special
execute permission.
basic_filebuf<charT,traits>*
rdbuf() const;
Returns a pointer to the basic_filebuf associated with the stream.
EXAMPLES
See basic_fstream, basic_ifstream and basic_filebuf examples.
SEE ALSO
char_traits, ios_base, basic_ios,
basic_filebuf, basic_ifstream, basic_fstream
Working Paper for Draft Proposed International Standard for Information
Systems--Programming Language C++, Section 27.8.1.8
STANDARDS CONFORMANCE
ANSI X3J16/ISO WG21 Joint C++ Committee
|
|