Cómo desactivar el almacenamiento en búfer de stdout en C

Quiero desactivar el almacenamiento en búfer para el stdout para obtener el resultado exacto para el siguiente código

while(1) { printf("."); sleep(1); } 

El grupo de printf de código de ‘.’ solo cuando el buffer se llena

Use fflush(stdout) . Puede llamarlo después de cada printf para forzar que el buffer se descargue.

Puede usar la función setvbuf :

 setvbuf(stdout, NULL, _IONBF, 0); 

También puedes usar setbuf

 setbuf(stdout, NULL); 

Esto se encargará de todo

Utilice fflush (secuencia FILE *) con stdout como parámetro.

http://www.elook.org/programming/c/fflush.html

Tu puedes hacer

 write(1, ".", 1); 

en lugar de

 printf(".");