15.7.10 read

oefpos_t read(char          *buffer, oefpos_t len)
oefpos_t read(signed char   *buffer, oefpos_t len)
oefpos_t read(unsigned char *buffer, oefpos_t len)
oefpos_t read(std::string   &buffer, oefpos_t len)

Reads the next len number of bytes off of the stream, stores them in the specified buffer and returns the number of bytes actually read. It is the user's responsibility when using any of the three char * versions to make sure that the specified buffer has been properly allocated and has enough room to store len bytes. This function does not add a NULL terminator to the end of the buffer.