When writing the integer number
to a file, instead of using the statement
outFile << number;
which for a four-byte integer could print as few digits as one or as many as 11 (10 digits plus a sign, each requiring a single byte of storage), we can use the statement
outFile.write( reinterpret_cast< const char * >( &number ),
sizeof( number ) );
which always writes the binary version of the integer number
’s four bytes (on a machine with four-byte integers). Function write
treats its first argument as a group of bytes by viewing the object in memory as a const char *
, which is a pointer to a byte. Starting from that location, function write
outputs the number of bytes specified by its second argument—an integer of type size_t
. As we’ll see, istream
function read
can subsequently be used to read the four bytes back into integer variable number
.
18.118.20.231