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
Several typedefs for common character types are provided:
Defined in header <fstream> | |
Type | Definition |
std::ofstream | std::basic_ofstream<char> |
std::wofstream | std::basic_ofstream<wchar_t> |
Contents |
[edit]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 |
native_handle_type (C++26) | implementation-defined type that is TriviallyCopyable and semiregular |
[edit]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) | |
(C++26) | returns the underlying implementation-defined handle (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) |
[edit]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> ) | |
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 I/O 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) |
[edit]Notes
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_fstream_native_handle | 202306L | (C++26) | native handles support |
[edit]Example
Run this code
#include <fstream>#include <iostream>#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 backstd::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