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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_ifstream - std::basic_ifstream

Synopsis
	  Defined in header <fstream>
	  template<

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

	  > class basic_ifstream : public std::basic_istream<CharT, Traits>

	  The class template basic_ifstream implements high-level input	opera-
       tions on
	  file-based   streams.	  It   interfaces  a  file-based  streambuffer
       (std::basic_filebuf)
	  with the high-level interface	of (std::basic_istream).

	  A typical implementation of std::basic_ifstream holds	only one  non-
       derived data
	  member: an instance of std::basic_filebuf<CharT, Traits>.

	  std-basic ifstream-inheritance.svg

					  Inheritance diagram

	  Two specializations for common character types are also defined:

	  Defined in header <fstream>
	  Type	    Definition
	  ifstream  basic_ifstream<char>
	  wifstream basic_ifstream<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
	  constructor			  constructs the file stream
					  (public member function)
	  destructor			  destructs the	basic_ifstream 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)

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_ifstream) specializes the std::swap algorithm
	  (C++11)			 (function template)

       Inherited from std::basic_istream

Member functions
Formatted input
	  operator>> extracts formatted	data
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)

Unformatted input
	  get	     extracts characters
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)
	  peek	     reads the next character without extracting it
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)
	  unget	     unextracts	a character
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)
	  putback    puts character into input stream
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)
	  getline    extracts characters until the given character is found
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)
	  ignore      extracts and discards characters until the given charac-
       ter is found
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)
	  read	     extracts blocks of	characters
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)
	  readsome   extracts already available	blocks of characters
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)
		     returns  number of	characters extracted by	last unformat-
       ted input
	  gcount     operation
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)

Positioning
	  tellg	     returns the input position	indicator
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)
	  seekg	     sets the input position indicator
		     (public	  member      function	     of	      std::ba-
       sic_istream<CharT,Traits>)

Miscellaneous
	  sync	     synchronizes with the underlying storage device
		     (public	   member	function      of      std::ba-
       sic_istream<CharT,Traits>)

Member classes
	  sentry implements basic logic	for preparation	of the stream for  in-
       put operations
		 (public member	class of std::basic_istream<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 void*
	  operator bool	 checks	if no error has	occurred (synonym of !fail())
	  (until    C++11)     (public	  member    function	of    std::ba-
       sic_ios<CharT,Traits>)
	  (since C++11)
	  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
	  openmode	 binary	  open in binary mode
			 in	  open for reading
			 out	  open for writing
			 trunc	  discard the  contents	 of  the  stream  when
       opening
			 ate	   seek	to the end of stream immediately after
       open

			 (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	opera-
       tions
			 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  masking
       operations
				     generate  floating	point types using sci-
       entific notation,
			 scientific  or	hex notation if	combined  with	fixed:
       see
				     std::scientific
	  fmtflags	 fixed	     generate floating point types using fixed
       notation, or
				     hex notation if combined with scientific:
       see std::fixed
			 floatfield   scientific|fixed.	Useful for masking op-
       erations
			 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)

Example
       // Run this code

	#include <iostream>
	#include <fstream>
	#include <string>

	int main() {
	  std::string filename = "Test.b";
	  // prepare a file to read
	  double d = 3.14;
	  std::ofstream(filename,	      std::ios::binary).write(reinter-
       pret_cast<char*>(&d), sizeof d)
	     <<	123 << "abc";
	  // open file for reading
	  std::ifstream	istrm(filename,	std::ios::binary);
	  if (!istrm.is_open())	{
	    std::cout << "failed to open " << filename << '\n';
	  } else {
	    double d;
	    istrm.read(reinterpret_cast<char*>(&d), sizeof d); // binary input
	    int	n;
	    std::string	s;
	    if (istrm >> n >> s)			       // text input
	      std::cout	 << "read back from file: " << d << ' '	<< n <<	' ' <<
       s << '\n';
	  }
	}

Output:
	read back from file: 3.14 123 abc

http://cppreference.com		  2022.07.31		std::basic_ifstream(3)

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

home | help