Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_ifstream

      From cppreference.com
      <cpp‎ |io
       
       
       
       
      Defined in header<fstream>
      template<

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

      >class basic_ifstream:publicstd::basic_istream<CharT, Traits>

      The class templatebasic_ifstream implements high-level input operations 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 ofstd::basic_ifstream holds only one non-derived data member: an instance ofstd::basic_filebuf<CharT, Traits>.

      std-basic ifstream-inheritance.svg

      Several typedefs for common character types are provided:

      Defined in header<fstream>
      Type Definition
      std::ifstreamstd::basic_ifstream<char>
      std::wifstreamstd::basic_ifstream<wchar_t>

      Contents

      [edit]Member types

      Member type Definition
      char_typeCharT[edit]
      traits_typeTraits; the program is ill-formed ifTraits::char_type is notCharT.[edit]
      int_typeTraits::int_type[edit]
      pos_typeTraits::pos_type[edit]
      off_typeTraits::off_type[edit]
      native_handle_type(C++26)implementation-defined type that isTriviallyCopyable andsemiregular[edit]

      [edit]Member functions

      constructs the file stream
      (public member function)[edit]
      (destructor)
      [virtual](implicitly declared)
      destructs thebasic_ifstream and the associated buffer, closes the file
      (virtual public member function)[edit]
      (C++11)
      moves the file stream
      (public member function)[edit]
      (C++11)
      swaps two file streams
      (public member function)[edit]
      returns the underlying raw file device object
      (public member function)[edit]
      returns the underlying implementation-defined handle
      (public member function)[edit]
      File operations
      checks if the stream has an associated file
      (public member function)[edit]
      opens a file and associates it with the stream
      (public member function)[edit]
      closes the associated file
      (public member function)[edit]

      [edit]Non-member functions

      specializes thestd::swap algorithm
      (function template)[edit]

      Inherited fromstd::basic_istream

      Member functions

      Formatted input
      extracts formatted data
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      Unformatted input
      extracts characters
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      reads the next character without extracting it
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      unextracts a character
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      puts a character into input stream
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      extracts characters until the given character is found
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      extracts and discards characters until the given character is found
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      extracts blocks of characters
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      extracts already available blocks of characters
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      returns number of characters extracted by last unformatted input operation
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      Positioning
      returns the input position indicator
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      sets the input position indicator
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]
      Miscellaneous
      synchronizes with the underlying storage device
      (public member function ofstd::basic_istream<CharT,Traits>)[edit]

      Member classes

      implements basic logic for preparation of the stream for input operations
      (public member class ofstd::basic_istream<CharT,Traits>)[edit]

      Inherited fromstd::basic_ios

      Member types

      Member type Definition
      char_typeCharT
      traits_typeTraits
      int_typeTraits::int_type
      pos_typeTraits::pos_type
      off_typeTraits::off_type

      Member functions

      State functions
      checks if no error has occurred i.e. I/O operations are available
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if end-of-file has been reached
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if an error has occurred
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if a non-recoverable error has occurred
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if an error has occurred (synonym offail())
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if no error has occurred (synonym of!fail())
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      returns state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      sets state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      modifies state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      Formatting
      copies formatting information
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages the fill character
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      Miscellaneous
      manages exception mask
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      sets the locale
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages associated stream buffer
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages tied stream
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      narrows characters
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      widens characters
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]

      Inherited fromstd::ios_base

      Member functions

      Formatting
      manages format flags
      (public member function ofstd::ios_base)[edit]
      sets specific format flag
      (public member function ofstd::ios_base)[edit]
      clears specific format flag
      (public member function ofstd::ios_base)[edit]
      manages decimal precision of floating point operations
      (public member function ofstd::ios_base)[edit]
      manages field width
      (public member function ofstd::ios_base)[edit]
      Locales
      sets locale
      (public member function ofstd::ios_base)[edit]
      returns current locale
      (public member function ofstd::ios_base)[edit]
      Internal extensible array
      [static]
      returns a program-wide unique integer that is safe to use as index topword() andiword()
      (public static member function ofstd::ios_base)[edit]
      resizes the private storage if necessary and access to thelong element at the given index
      (public member function ofstd::ios_base)[edit]
      resizes the private storage if necessary and access to thevoid* element at the given index
      (public member function ofstd::ios_base)[edit]
      Miscellaneous
      registers event callback function
      (public member function ofstd::ios_base)[edit]
      sets whether C++ and C I/O libraries are interoperable
      (public static member function ofstd::ios_base)[edit]
      Member classes
      stream exception
      (public member class ofstd::ios_base)[edit]
      initializes standard stream objects
      (public member class ofstd::ios_base)[edit]

      Member types and constants

      Type Explanation
      stream open mode type

      The following constants are also defined:

      Constant Explanation[edit]
      app seek to the end of stream before each write[edit]
      binary open inbinary mode[edit]
      in open for reading[edit]
      out open for writing[edit]
      trunc discard the contents of the stream when opening[edit]
      ate seek to the end of stream immediately after open[edit]
      noreplace(C++23) open in exclusive mode[edit]

      (typedef)[edit]
      formatting flags type

      The following constants are also defined:

      Constant Explanation[edit]
      dec use decimal base for integer I/O: seestd::dec[edit]
      oct use octal base for integer I/O: seestd::oct[edit]
      hex use hexadecimal base for integer I/O: seestd::hex[edit]
      basefielddec| oct| hex. Useful for masking operations[edit]
      left left adjustment (adds fill characters to the right): seestd::left[edit]
      right right adjustment (adds fill characters to the left): seestd::right[edit]
      internal internal adjustment (adds fill characters to the internal designated point): seestd::internal[edit]
      adjustfieldleft| right| internal. Useful for masking operations[edit]
      scientific generate floating point types using scientific notation, or hex notation if combined withfixed: seestd::scientific[edit]
      fixed generate floating point types using fixed notation, or hex notation if combined withscientific: seestd::fixed[edit]
      floatfieldscientific| fixed. Useful for masking operations[edit]
      boolalpha insert and extractbool type in alphanumeric format: seestd::boolalpha[edit]
      showbase generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: seestd::showbase[edit]
      showpoint generate a decimal-point character unconditionally for floating-point number output: seestd::showpoint[edit]
      showpos generate a+ character for non-negative numeric output: seestd::showpos[edit]
      skipws skip leading whitespace before certain input operations: seestd::skipws[edit]
      unitbuf flush the output after each output operation: seestd::unitbuf[edit]
      uppercase replace certain lowercase letters with their uppercase equivalents in certain output operations: seestd::uppercase[edit]

      (typedef)[edit]
      state of the stream type

      The following constants are also defined:

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

      (typedef)[edit]
      seeking direction type

      The following constants are also defined:

      Constant Explanation[edit]
      beg the beginning of a stream[edit]
      end the ending of a stream[edit]
      cur the current position of stream position indicator[edit]

      (typedef)[edit]
      specifies event type
      (enum)[edit]
      callback function type
      (typedef)[edit]

      [edit]Notes

      Feature-test macroValueStdFeature
      __cpp_lib_fstream_native_handle202306L(C++26)native handles support

      [edit]Example

      Run this code
      #include <fstream>#include <iostream>#include <string> int main(){std::string filename="Test.b"; // prepare a file to readdouble d=3.14;std::ofstream(filename, std::ios::binary)        .write(reinterpret_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 inputint n;std::string s;if(istrm>> n>> s)// text inputstd::cout<<"read back from file: "<< d<<' '<< n<<' '<< s<<'\n';}}

      Output:

      read back from file: 3.14 123 abc
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ifstream&oldid=158179"

      [8]ページ先頭

      ©2009-2025 Movatter.jp