Función setbuf ANSI C
void setbuf(FILE *stream, char *acumulador);
Esta función es equivalente a la función setvbuf pasando los valores _IOFBF para modo y BUFSIZ para tamaño, o (si acumulador es un puntero nulo), con el valor _IONBF para modo.
stdout y stdin no son almacenados si no son redirigidos; de lo contrario, son completamente almacenados. "No Almacenados" quiere decir que los caracteres escritos a un stream son inmediatamente transmitidos al fichero o dispostivo, mientras que "Almacenados" significa que los caracteres son acumulados y escritos como un bloque de información. La función setbuf produce resultados impredecibles al menos que que sea llamado después de abrir stream o después de llamar a fseek. Llamando a setbuf después de stream no ha sido almacenado es legal y no causará problemas.
Valor de retorno:
La función setbuf no retorna ningún valor.
Ejemplo:
#include <stdio.h> int main() { char acumulador[BUFSIZ]; setbuf( stdout, acumulador ); printf( "Esto es una prueba\n" ); printf( "Este mensaje se mostrara a la vez\n" ); printf( "setbuf, acumula los datos en un puntero\n" ); printf( "hasta que se llene completamente\n" ); fflush( stdout ); return 0; }