Как отключить буферизацию stdout в C

Я хочу отключить буферизацию для stdout для получения точного результата для следующего кода

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

Код printf связки ‘.’ только при заполнении буфера.

Используйте fflush(stdout) . Вы можете вызвать его после каждого printf чтобы заставить буфер сбросить флажок.

Вы можете использовать функцию setvbuf :

 setvbuf(stdout, NULL, _IONBF, 0); 

Вы также можете использовать setbuf

 setbuf(stdout, NULL); 

Это позаботится обо всем

Используйте fflush (stream FILE *) с помощью stdout в качестве параметра.

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

Ты можешь сделать

 write(1, ".", 1); 

вместо

 printf("."); 
  • Где найти реализации функций stdio.h?
  • Несколько символов в символьной константе
  • О примерном определении
  • Строки в C, как получить subString
  • Почему getchar () не распознает return как EOF на консоли?
  • Эта программа звучит колокол!
  • Как правильно использовать ключевое слово extern в C
  • Почему запись в строковый литерал в этой программе C segfault?
  • что такое использование fflush (stdin) в программировании c
  • Использование нулевого оператора в C
  • проблема с плавающей запятой в R?
  • Давайте будем гением компьютера.