¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

setbuf

Almacenamiento en búfer de la secuencia de Controles. Se deja de utilizar esta función; uso setvbuf en su lugar.

void setbuf(
   FILE *stream,
   char *buffer 
);

stream

Puntero a la estructura FILE.

buffer

Búfer Usuario- asignado.

La función de setbuf controla el almacenamiento en búfer para stream. El argumento de stream debe hacer referencia a un archivo abierto que no se ha leído ni se ha escrito. Si el argumento de buffer es NULL, la secuencia se inseparada. Si no, el búfer debe señalar a una matriz de caracteres de longitud BUFSIZ, donde el tamaño de búfer BUFSIZ definido en STDIO.H. El búfer definido por el usuario, en lugar del búfer sistema- asignado predeterminado para la secuencia especificada, se utiliza para el búfer de E/S. La secuencia de stderr está inseparada de forma predeterminada, pero puede utilizar setbuf para asignar búferes a stderr.

setbuf se ha reemplazado por setvbuf, que es la rutina preferida para el nuevo código. setbuf se conserva a efectos de compatibilidad con código existente.

Rutina

Encabezado necesario

setbuf

<stdio.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// crt_setbuf.c
// compile with: /W3
// This program first opens files named DATA1 and
// DATA2. Then it uses setbuf to give DATA1 a user-assigned
// buffer and to change DATA2 so that it has no buffer.
 
#include <stdio.h>

int main( void )
{
   char buf[BUFSIZ];
   FILE *stream1, *stream2;

   fopen_s( &stream1, "data1", "a" );
   fopen_s( &stream2, "data2", "w" );

   if( (stream1 != NULL) && (stream2 != NULL) )
   {
      // "stream1" uses user-assigned buffer:
      setbuf( stream1, buf ); // C4996
      // Note: setbuf is deprecated; consider using setvbuf instead
      printf( "stream1 set to user-defined buffer at: %Fp\n", buf );

      // "stream2" is unbuffered
      setbuf( stream2, NULL ); // C4996
      printf( "stream2 buffering disabled\n" );
      _fcloseall();
   }
}
stream1 establecido en el búfer definido por el usuario en: 0012FCDC
almacenamiento en búfer stream2 deshabilitado

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

Mostrar:
© 2015 Microsoft