Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::basic_ofstream(3)	      C++ Standard Libary	std::basic_ofstream(3)

NAME
       std::basic_ofstream - std::basic_ofstream

Synopsis
	  Defined in header <fstream>
	  template<

	      class CharT,
	      class Traits = std::char_traits<CharT>

	  > class basic_ofstream : public std::basic_ostream<CharT, Traits>

	  The class template basic_ofstream implements high-level output oper-
       ations on file
	  based	 streams.  It  interfaces  a file-based	streambuffer (std::ba-
       sic_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>.

	  std-basic ofstream-inheritance.svg

					  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>

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	 Triv-
       iallyCopyable and
				    semiregular

Member functions
	  constructor			  constructs the file stream
					  (public member function)
	  destructor			  destructs the	basic_ofstream and the
       associated
	  [virtual] (implicitly	declared) buffer, closes the file
					  (virtual public member function)
	  operator=			  moves	the file stream
	  (C++11)			  (public member function)
	  swap				  swaps	two file streams
	  (C++11)			  (public member function)
	  rdbuf				   returns the underlying raw file de-
       vice object
					  (public member function)
	  native_handle			  returns the  underlying  implementa-
       tion-defined handle
	  (C++26)			  (public member function)

File operations
	  is_open			   checks if the stream	has an associ-
       ated file
					  (public member function)
	  open				  opens	a file and associates it  with
       the stream
					  (public member function)
	  close				  closes the associated	file
					  (public member function)

Non-member functions
	  std::swap(std::basic_ofstream) specializes the std::swap algorithm
	  (C++11)			 (function template)

       Inherited from std::basic_ostream

Member functions
Formatted output
	  operator<< inserts formatted data
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Unformatted output
	  put	     inserts a character
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  write	     inserts blocks of characters
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Positioning
	  tellp	     returns the output	position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  seekp	     sets the output position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Miscellaneous
	  flush	     synchronizes with the underlying storage device
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Member classes
	  sentry implements basic logic	for preparation	of the stream for out-
       put 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
	  good		 checks	 if  no	error has occurred i.e.	I/O operations
       are available
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  eof		checks if end-of-file has been reached
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  fail		checks if an error has occurred
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  bad		checks if a non-recoverable error has occurred
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  operator!	checks if an error has occurred	(synonym of fail())
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  operator bool	checks if no error has occurred	(synonym of !fail())
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  rdstate	returns	state flags
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  setstate	sets state flags
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  clear		modifies state flags
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)

Formatting
	  copyfmt	copies formatting information
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  fill		manages	the fill character
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)

Miscellaneous
	  exceptions	manages	exception mask
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  imbue		sets the locale
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  rdbuf		manages	associated stream buffer
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  tie		manages	tied stream
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  narrow	narrows	characters
			(public	     member	 function      of     std::ba-
       sic_ios<CharT,Traits>)
	  widen		widens characters
			(public	    member	function      of      std::ba-
       sic_ios<CharT,Traits>)

       Inherited from std::ios_base

Member functions
Formatting
	  flags		    manages format flags
			    (public member function of std::ios_base)
	  setf		    sets specific format flag
			    (public member function of std::ios_base)
	  unsetf	    clears specific format flag
			    (public member function of std::ios_base)
	  precision	    manages decimal precision of floating point	opera-
       tions
			    (public member function of std::ios_base)
	  width		    manages field width
			    (public member function of std::ios_base)

Locales
	  imbue		    sets locale
			    (public member function of std::ios_base)
	  getloc	    returns current locale
			    (public member function of std::ios_base)

Internal extensible array
	  xalloc	    returns a program-wide unique integer that is safe
       to use as index
	  [static]	    to pword() and iword()
			    (public static member function of std::ios_base)
			    resizes  the  private storage if necessary and ac-
       cess to the long
	  iword		    element at the given index
			    (public member function of std::ios_base)
			    resizes the	private	storage	if necessary  and  ac-
       cess to the void*
	  pword		    element at the given index
			    (public member function of std::ios_base)

Miscellaneous
	  register_callback registers event callback function
			    (public member function of std::ios_base)
	  sync_with_stdio    sets whether C++ and C I/O	libraries are interop-
       erable
	  [static]	    (public static member function of std::ios_base)

Member classes
	  failure	    stream exception
			    (public member class of std::ios_base)
	  Init		    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:

			 Constant	   Explanation
			 app		   seek	to the end  of	stream	before
       each write
			 binary		   open	in binary mode
	  openmode	 in		   open	for reading
			 out		   open	for writing
			 trunc		    discard the	contents of the	stream
       when
					   opening
			 ate		   seek	to the end of  stream  immedi-
       ately after
					   open
			 noreplace (C++23) open	in exclusive mode

			 (typedef)
			 formatting flags type

			 The following constants are also defined:

			 Constant    Explanation
			 dec	      use  decimal  base  for integer I/O: see
       std::dec
			 oct	     use  octal	 base  for  integer  I/O:  see
       std::oct
			 hex	     use hexadecimal base for integer I/O: see
       std::hex
			 basefield   dec | oct | hex. Useful for masking oper-
       ations
			 left	      left adjustment (adds fill characters to
       the right): see
				     std::left
			 right	     right adjustment (adds fill characters to
       the left): see
				     std::right
			 internal    internal adjustment (adds fill characters
       to the internal
				     designated	point):	see std::internal
			 adjustfield left | right | internal. Useful for mask-
       ing
				     operations
				     generate floating point types using  sci-
       entific notation,
			 scientific   or  hex notation if combined with	fixed:
       see
				     std::scientific
	  fmtflags		     generate floating point types using fixed
       notation, or
			 fixed	     hex notation if combined with scientific:
       see
				     std::fixed
			 floatfield  scientific	| fixed.  Useful  for  masking
       operations
			 boolalpha    insert and extract bool type in alphanu-
       meric format: see
				     std::boolalpha
				     generate a	prefix indicating the  numeric
       base for	integer
			 showbase    output, require the currency indicator in
       monetary	I/O:
				     see std::showbase
			 showpoint   generate a	decimal-point character	uncon-
       ditionally for
				     floating-point    number	 output:   see
       std::showpoint
			 showpos     generate a	+ character  for  non-negative
       numeric output:
				     see std::showpos
			 skipws	      skip  leading  whitespace	before certain
       input operations:
				     see std::skipws
			 unitbuf     flush the output after each output	opera-
       tion: see
				     std::unitbuf
				     replace certain  lowercase	 letters  with
       their uppercase
			 uppercase   equivalents in certain output operations:
       see
				     std::uppercase

			 (typedef)
			 state of the stream type

			 The following constants are also defined:

			 Constant Explanation
	  iostate	 goodbit  no error
			 badbit	  irrecoverable	stream error
			 failbit  input/output operation failed	(formatting or
       extraction
				  error)
			 eofbit	   associated  input sequence has reached end-
       of-file

			 (typedef)
			 seeking direction type

			 The following constants are also defined:

	  seekdir	 Constant Explanation
			 beg	  the beginning	of a stream
			 end	  the ending of	a stream
			 cur	  the current position of stream position  in-
       dicator

			 (typedef)
	  event		 specifies event type
			 (enum)
	  event_callback callback function type
			 (typedef)

Notes
		Feature-test macro	   Value    Std		 Feature
	  __cpp_lib_fstream_native_handle  202306L (C++26) native handles sup-
       port

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 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

http://cppreference.com		  2024.06.10		std::basic_ofstream(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ofstream&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help