Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_istream<CharT,Traits>::read

      From cppreference.com
      <cpp‎ |io‎ |basic istream
       
       
       
       
      basic_istream& read( char_type* s,std::streamsize count);

      Extracts characters from stream.

      Behaves asUnformattedInputFunction. After constructing and checking the sentry object, extracts characters and stores them into successive locations of the character array whose first element is pointed to bys. Characters are extracted and stored until any of the following conditions occurs:

      • count characters were extracted and stored.
      • end of file condition occurs on the input sequence (in which case,setstate(failbit|eofbit) is called). The number of successfully extracted characters can be queried usinggcount().

      Contents

      [edit]Parameters

      s - pointer to the character array to store the characters to
      count - number of characters to read

      [edit]Return value

      *this

      [edit]Exceptions

      [edit]
      failure if an error occurred (the error state flag is notgoodbit) andexceptions() is set to throw for that state.

      If an internal operation throws an exception, it is caught andbadbit is set. Ifexceptions() is set forbadbit, the exception is rethrown.

      [edit]Notes

      When using a non-converting locale (the default locale is non-converting), the overrider of this function instd::basic_ifstream may be optimized for zero-copy bulk I/O (by means of overridingstd::streambuf::xsgetn).

      [edit]Example

      Run this code
      #include <cstdint>#include <fstream>#include <iostream>#include <sstream>#include <string> int main(){// read() is often used for binary I/Ostd::string bin={'\x12','\x12','\x12','\x12'};std::istringstream raw(bin);std::uint32_t n;if(raw.read(reinterpret_cast<char*>(&n), sizeof n))std::cout<<std::hex<<std::showbase<< n<<'\n'; // prepare file for next snippetstd::ofstream("test.txt", std::ios::binary)<<"abcd1\nabcd2\nabcd3"; // read entire file into stringif(std::ifstream is{"test.txt", std::ios::binary| std::ios::ate}){auto size= is.tellg();std::string str(size,'\0');// construct string to stream size        is.seekg(0);if(is.read(&str[0], size))std::cout<< str<<'\n';}}

      Output:

      0x12121212abcd1abcd2abcd3

      [edit]See also

      inserts blocks of characters
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      extracts formatted data
      (public member function)[edit]
      extracts already available blocks of characters
      (public member function)[edit]
      extracts characters
      (public member function)[edit]
      extracts characters until the given character is found
      (public member function)[edit]
      reads from a file
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_istream/read&oldid=158531"

      [8]ページ先頭

      ©2009-2025 Movatter.jp