Libreria Fstream C ++ - Funzione rdbuf

Descrizione

Restituisce un puntatore all'oggetto filebuf interno.

Dichiarazione

Di seguito è riportata la dichiarazione per fstream :: rduf.

C ++ 11

filebuf* rdbuf() const;

Valore di ritorno

Restituisce un puntatore all'oggetto filebuf interno.

Eccezioni

Strong guarantee - se viene generata un'eccezione, non ci sono modifiche nel buffer del flusso.

Gare di dati

  • Accede all'oggetto stream.

  • L'accesso simultaneo allo stesso oggetto flusso può causare gare di dati.

Esempio

Nell'esempio seguente viene illustrata la funzione rdbuf di fstream.

#include <fstream>
#include <cstdio>

int main () {
   std::fstream src,dest;
   src.open ("test.txt");
   dest.open ("copy.txt");

   std::filebuf* inbuf  = src.rdbuf();
   std::filebuf* outbuf = dest.rdbuf();

   char c = inbuf->sbumpc();
   while (c != EOF) {
      outbuf->sputc (c);
      c = inbuf->sbumpc();
   }

   dest.close();
   src.close();

   return 0;
}