Libreria C ++ basic_ios - leggi

Descrizione

Viene utilizzato per estrarre n caratteri dal flusso e memorizzarli nell'array puntato da s.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: basic_istream :: read.

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

Parametri

  • n - Numero massimo di caratteri da scrivere in s (incluso il carattere null di terminazione).

  • s - Puntatore a un array in cui sono memorizzati i caratteri estratti.

Valore di ritorno

Restituisce l'oggetto basic_istream (* this).

Eccezioni

Basic guarantee - se viene generata un'eccezione, l'oggetto è in uno stato valido.

Gare di dati

Modifica gli elementi nell'array puntato da se l'oggetto stream.

Esempio

Nell'esempio seguente per 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;
}

L'output dovrebbe essere così -

Reading 640 characters... all characters read successfully.