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
);
Parámetros
stream
Puntero a la estructura FILE.buffer
Búfer Usuario- asignado.
Comentarios
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.
Requisitos
Rutina |
Encabezado necesario |
---|---|
setbuf |
<stdio.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
// 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();
}
}
Equivalente en .NET Framework
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.