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 setstate(failbit|eofbit)
is called). The number of successfully extracted characters can be queried using gcount(). s | - | pointer to the character array to store the characters to |
count | - | number of characters to read |
*this
.
failure
if an error occurred (the error state flag is not goodbit
) and exceptions()
is set to throw for that state. If an internal operation throws an exception, it is caught and badbit
is set. If exceptions()
is set for badbit
, the exception is rethrown.
#include <iostream> #include <fstream> #include <sstream> #include <string> #include <cstdint> int main() { // read() is often used for binary I/O 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'; // prepare file for next snippet std::ofstream os("test.txt", std::ios::binary); for (unsigned i = 0; i < 10; ++i) { os << "abcd" << i << "\n"; } os.close(); // read entire file into string if(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); is.read(&str[0], size); std::cout << str << "\n"; } else { std::cerr << "Could not open test.txt\n"; } }
Output:
0x12121212 abcd0 abcd1 abcd2 abcd3 abcd4 abcd5 abcd6 abcd7 abcd8 abcd9
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/io/basic_istream/read