std::basic_ofstream
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <fstream>
  | 
||
|   template<      class CharT,   | 
||
The class template basic_ofstream implements high-level output operations on file based streams. It interfaces a file-based streambuffer (std::basic_filebuf) with the high-level interface of (std::basic_ostream).
A typical implementation of std::basic_ofstream holds only one non-derived data member: an instance of std::basic_filebuf<CharT, Traits>.
Inheritance diagram
Two specializations for common character types are also defined:
|   Defined in header  
<fstream>  | |
| Type | Definition | 
  ofstream
 | 
basic_ofstream<char> | 
  wofstream
 | 
basic_ofstream<wchar_t> | 
Member types
| Member type | Definition | 
  char_type
 | 
CharT | 
  traits_type
 | 
  Traits; the program is ill-formed if Traits::char_type is not CharT.  | 
  int_type
 | 
Traits::int_type | 
  pos_type
 | 
Traits::pos_type | 
  off_type
 | 
Traits::off_type | 
Member functions
|   constructs the file stream  (public member function)  | |
|    (destructor) [virtual] (implicitly declared)  | 
  destructs the basic_ofstream and the associated buffer, closes the file  (virtual public member function)  | 
|    (C++11)  | 
   moves the file stream   (public member function)  | 
|    (C++11)  | 
   swaps two file streams   (public member function)  | 
|    returns the underlying raw file device object  (public member function)  | |
 File operations | |
|    checks if the stream has an associated file  (public member function)  | |
|    opens a file and associates it with the stream  (public member function)  | |
|    closes the associated file  (public member function)  | |
Non-member functions
|    specializes the std::swap algorithm  (function template)  | 
Inherited from std::basic_ostream
Member functions
 Formatted output | |
|    inserts formatted data  (public member function of std::basic_ostream<CharT,Traits>)  | |
 Unformatted output | |
|    inserts a character  (public member function of std::basic_ostream<CharT,Traits>)  | |
|    inserts blocks of characters  (public member function of std::basic_ostream<CharT,Traits>)  | |
 Positioning | |
|    returns the output position indicator  (public member function of std::basic_ostream<CharT,Traits>)  | |
|    sets the output position indicator  (public member function of std::basic_ostream<CharT,Traits>)  | |
 Miscellaneous | |
|    synchronizes with the underlying storage device  (public member function of std::basic_ostream<CharT,Traits>)  | |
Member classes
|    implements basic logic for preparation of the stream for output operations  (public member class of std::basic_ostream<CharT,Traits>)  | 
Inherited from std::basic_ios
Member types
| Member type | Definition | 
  char_type
 | 
CharT | 
  traits_type
 | 
Traits | 
  int_type
 | 
Traits::int_type | 
  pos_type
 | 
Traits::pos_type | 
  off_type
 | 
Traits::off_type | 
Member functions
 State functions | |
|    checks if no error has occurred i.e. I/O operations are available  (public member function of std::basic_ios<CharT,Traits>)  | |
|    checks if end-of-file has been reached  (public member function of std::basic_ios<CharT,Traits>)  | |
|    checks if an error has occurred  (public member function of std::basic_ios<CharT,Traits>)  | |
|    checks if a non-recoverable error has occurred  (public member function of std::basic_ios<CharT,Traits>)  | |
|    checks if an error has occurred (synonym of fail())   (public member function of std::basic_ios<CharT,Traits>)  | |
|    (until C++11)(since C++11)  | 
  checks if no error has occurred (synonym of !fail())  (public member function of std::basic_ios<CharT,Traits>)  | 
|    returns state flags  (public member function of std::basic_ios<CharT,Traits>)  | |
|    sets state flags  (public member function of std::basic_ios<CharT,Traits>)  | |
|    modifies state flags  (public member function of std::basic_ios<CharT,Traits>)  | |
 Formatting | |
|    copies formatting information  (public member function of std::basic_ios<CharT,Traits>)  | |
|    manages the fill character  (public member function of std::basic_ios<CharT,Traits>)  | |
 Miscellaneous | |
|    manages exception mask  (public member function of std::basic_ios<CharT,Traits>)  | |
|    sets the locale  (public member function of std::basic_ios<CharT,Traits>)  | |
|    manages associated stream buffer  (public member function of std::basic_ios<CharT,Traits>)  | |
|    manages tied stream  (public member function of std::basic_ios<CharT,Traits>)  | |
|    narrows characters  (public member function of std::basic_ios<CharT,Traits>)  | |
|    widens characters  (public member function of std::basic_ios<CharT,Traits>)  | |
Inherited from std::ios_base
Member functions
 Formatting | |
|    manages format flags   (public member function of std::ios_base)  | |
|    sets specific format flag   (public member function of std::ios_base)  | |
|    clears specific format flag   (public member function of std::ios_base)  | |
|    manages decimal precision of floating point operations   (public member function of std::ios_base)  | |
|    manages field width  (public member function of std::ios_base)  | |
 Locales | |
|    sets locale   (public member function of std::ios_base)  | |
|    returns current locale   (public member function of std::ios_base)  | |
 Internal extensible array | |
|    [static]  | 
   returns a program-wide unique integer that is safe to use as index to pword() and iword()   (public static member function of std::ios_base)  | 
|    resizes the private storage if necessary and access to the long element at the given index  (public member function of std::ios_base)  | |
|    resizes the private storage if necessary and access to the void* element at the given index  (public member function of std::ios_base)  | |
 Miscellaneous | |
|    registers event callback function   (public member function of std::ios_base)  | |
|    [static]  | 
   sets whether C++ and C IO libraries are interoperable   (public static member function of std::ios_base)  | 
 Member classes | |
|    stream exception   (public member class of std::ios_base)  | |
|    initializes standard stream objects   (public member class of std::ios_base)  | |
 Member types and constants | |||||||||||||||||||||||||||||||||||||||
| Type | Explanation | ||||||||||||||||||||||||||||||||||||||
|    stream open mode type
 The following constants are also defined: 
 (typedef)  | |||||||||||||||||||||||||||||||||||||||
|    formatting flags type
 The following constants are also defined: 
 (typedef)  | |||||||||||||||||||||||||||||||||||||||
|    state of the stream type
 The following constants are also defined: 
 (typedef)  | |||||||||||||||||||||||||||||||||||||||
|    seeking direction type
 The following constants are also defined: 
 (typedef)  | |||||||||||||||||||||||||||||||||||||||
|    specifies event type  (enum)  | |||||||||||||||||||||||||||||||||||||||
|    callback function type  (typedef)  | |||||||||||||||||||||||||||||||||||||||
Example
Run this code
#include <iostream> #include <fstream> #include <string> int main() { std::string filename = "Test.b"; { std::ofstream ostrm(filename, std::ios::binary); double d = 3.14; ostrm.write(reinterpret_cast<char*>(&d), sizeof d); // binary output ostrm << 123 << "abc" << '\n'; // text output } // read back std::ifstream istrm(filename, std::ios::binary); double d; istrm.read(reinterpret_cast<char*>(&d), sizeof d); int n; std::string s; istrm >> n >> s; std::cout << " read back: " << d << " " << n << " " << s << '\n'; }
Output:
read back: 3.14 123 abc