C++ basic_ios Library - read


Advertisements

Description

It is used to extracts n characters from the stream and stores them in the array pointed by by s.

Declaration

Following is the declaration for std::basic_istream::read.

basic_istream& read (char_type* s, streamsize n);

Parameters

  • n − Maximum number of characters to write to s (including the terminating null character).

  • s − Pointer to an array where the extracted characters are stored.

Return Value

Returns the basic_istream object (*this).

Exceptions

Basic guarantee − if an exception is thrown, the object is in a valid state.

Data races

Modifies the elements in the array pointed by s and the stream object.

Example

In below example for std::basic_istream::read.

#include <iostream>     
#include <fstream>      

int main () {

   std::ifstream is ("test.txt", std::ifstream::binary);
   if (is) {
    
      is.seekg (0, is.end);
      int length = is.tellg();
      is.seekg (0, is.beg);

      char * buffer = new char [length];

      std::cout << "Reading " << length << " characters... ";
    
      is.read (buffer,length);

      if (is)
         std::cout << "all characters read successfully.";
      else
         std::cout << "error: only " << is.gcount() << " could be read";
      is.close();

    

      delete[] buffer;
   }
   return 0;
}

The output should be like this −

Reading 640 characters... all characters read successfully.
istream.htm
Advertisements