Biblioteca C ++ Fstream - Función rdbuf

Descripción

Devuelve un puntero al objeto filebuf interno.

Declaración

A continuación se muestra la declaración de fstream :: rduf.

C ++ 11

filebuf* rdbuf() const;

Valor devuelto

Devuelve un puntero al objeto filebuf interno.

Excepciones

Strong guarantee - si se lanza una excepción, no hay cambios en el búfer de flujo.

Carreras de datos

  • Accede al objeto de flujo.

  • El acceso simultáneo al mismo objeto de flujo puede provocar carreras de datos.

Ejemplo

En el siguiente ejemplo, se explica la función fstream rdbuf.

#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;
}