std::basic_istream::read
From cppreference.com
< cpp | io | basic istream
basic_istream& read( char_type* s, std::streamsize count ); |
||
Extracts characters from stream.
Behaves as UnformattedInputFunction
. 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 by s
. 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 using gcount().
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
If an internal operation throws an exception, it is caught and badbit is set. If exceptions() is set for badbit
, the exception is rethrown.
[edit] Example
read()
is often used for binary I/O
#include <iostream> #include <string> #include <sstream> #include <cstdint> int main() { std::string bin = {'\x12', '\x12', '\x12', '\x12'}; std::istringstream raw(bin); std::uint32_t n; raw.read(reinterpret_cast<char*>(&n), sizeof n); std::cout << std::hex << std::showbase << n << '\n'; }
Output:
0x12121212
[edit] See also
inserts blocks of characters (public member function of std::basic_ostream )
| |
extracts formatted data (public member function) | |
extracts already available blocks of characters (public member function) | |
extracts characters (public member function) | |
extracts characters until the given character is found (public member function) | |
reads from a file (function) |