Library: Input/output
basic_ofstreambasic_ostream
basic_ios
ios_base
Class that supports writing into named files or other devices associated with a file descriptor
#include <fstream>
namespace std {
template<class charT, class traits = char_traits<charT> >
class basic_ofstream;
}
The class template basic_ofstream 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.
namespace std {
template<class charT, class traits = char_traits<charT> >
class basic_ofstream
: public basic_ostream<charT, traits>
{
public:
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*,
ios_base::openmode = ios_base::out);
// extensions:
explicit
basic_ofstream(const char*, ios_base::openmode, long);
explicit
basic_ofstream(int, char_type* = 0,
streamsize = /* default size */);
explicit
basic_ofstream(FILE*, char_type* = 0,
streamsize = /* default size */);
basic_filebuf<charT, traits> *rdbuf() const;
bool is_open();
void open(const char *,
ios_base::openmode mode = ios_type::out);
// extensions:
void open(const char*, ios_base::openmode, long;
void open (int, char_type* = 0,
streamsize = /* default size */);
void open (FILE*, char_type* = 0,
streamsize = /* default size */);
void close();
};
}
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.
int_type
The type int_type is a synonym of type traits::int_type.
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.
ofstream
The type ofstream is a specialization of class basic_ofstream on type char:
typedef basic_ofstream<char> ofstream;
wofstream
The type wofstream is a specialization of class basic_ofstream on type wchar_t:
typedef basic_ofstream<wchar_t> wofstream;
basic_ofstream();
Constructs an object of class basic_ofstream, initializing the base class basic_ostream with the associated file buffer. This buffer is initialized by calling the basic_filebuf constructor:
basic_filebuf<charT,traits>(rdbuf());
After construction, a file can be attached to the basic_ofstream object using the open() member function.
explicit
basic_ofstream(const char* s,
ios_base::openmode mode = ios_base::out);
Constructs an object of class basic_ofstream, initializing the base class basic_ostream with the associated file buffer. This buffer is initialized by calling the basic_filebuf constructor:
basic_filebuf<charT,traits>(rdbuf());
The constructor then calls:
rdbuf()->open (s, mode, protection);
in order to attach the file, whose name is pointed to by s, to the basic_ofstream object.
basic_ofstream(const char* s,
ios_base::openmode mode = ios_base::out,
long protection = 0666);
Constructs an object of class basic_ofstream, initializing the base class basic_ostream with the associated file buffer. This buffer is initialized by calling the basic_filebuf constructor:
basic_filebuf<charT,traits>(rdbuf());
The constructor then calls:
rdbuf()->open (s, mode, protection);
in order to attach the file, whose name is pointed to by s, to the basic_ofstream object. The third argument, protection, holds file permissions. It determines the read/write/execute file permissions under UNIX, but is more limited elsewhere.
NOTE -- This function is not part of the C++ Standard, but is included here as an extension. See Appendix B for a complete list of extensions of this implementation.
basic_ofstream(int fd, char_type *buf, streamsize n);
Constructs an object of class basic_ofstream, initializing the base class basic_ostream with the associated file buffer. This buffer is initialized by calling the basic_filebuf constructor:
basic_filebuf<charT,traits>(rdbuf());
The constructor then calls:
rdbuf()->open (fd, buf, n);
in order to attach the file descriptor, fd, to the basic_ofstream object. If the function fails, it sets ios_base::failbit.
NOTE -- This function is not part of the C++ Standard, but is included here as an extension in order to manipulate pipes, sockets, or other UNIX devices that can be accessed through file descriptors. See Appendix B for a complete list of extensions of this implementation.
basic_ofstream(FILE *fp, char_type* buf, streamsize n);
Constructs an object of class basic_ofstream, initializing the base class basic_ostream with the associated file buffer. This buffer is initialized by calling the basic_filebuf constructor:
basic_filebuf<charT,traits>(rdbuf());
The constructor then calls:
rdbuf()->open (fp, buf, n);
in order to attach the file pointer, fp, to the basic_ofstream object. If the function fails, it sets ios_base::failbit.
NOTE -- This function is not part of the C++ Standard, but is provided here as an extension. See Appendix B for a complete list of extensions of this implementation.
void close();
Calls rdbuf ()->close(); if it fails, calls the basic_ios member function setstate(failbit).
bool is_open();
Returns rdbuf ()->is_open().
void open(const char* s,ios_base::openmode = ios_base::out);
Calls rdbuf()->open(s, mode) to open the file; if the call fails, calls the basic_ios member function setstate(failbit).
void open(const char* s, ios_base::openmode, long protection);
Calls rdbuf()->open(s, mode, protection) to open the file. If the call fails, calls the basic_ios member function setstate(failbit). The third argument, protection, holds file permissions for the read/write/execute file permissions under UNIX. It is more limited under DOS, since files are always readable and do not have special execute permission.
NOTE -- This function does not appear in the C++ Standard, but is included here as an extension. See Appendix B for a complete list of extensions of this implementation.
void
open(int fd, char_type *buf = 0,
streamsize n = /* default size */);
Calls rdbuf()->open(fd, buf, n) to open the file. If this function fails, calls the basic_ios member function setstate(failbit).
NOTE -- This function is not part of the C++ Standard, but is provided here as an extension. See Appendix B for a complete list of extensions of this implementation.
void
open (FILE *fp, char_type *buf = 0,
streamsize n = /* default size */);
Returns open(fileno (fp), buf, n). fileno is a UNIX98 function declared in <cstdio>.
NOTE -- This function is not part of the C++ Standard, but is provided here as a convenience extension. See Appendix B for a complete list of extensions of this implementation.
basic_filebuf<charT,traits>* rdbuf() const;
Returns a pointer to the basic_filebuf associated with the stream.
See basic_fstream, basic_ifstream, and basic_filebuf examples.
char_traits, ios_base, basic_ios, basic_filebuf, basic_ifstream, basic_fstream
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 27.8.1.8