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