Ответ 1
Используйте fflush(stdout)
. Вы можете использовать его после каждого вызова printf
, чтобы заставить буфер очищаться.
Я хочу отключить буферизацию для stdout для получения точного результата для следующего кода
while(1) {
printf(".");
sleep(1);
}
Буква кода printf '.' только при заполнении буфера.
Используйте fflush(stdout)
. Вы можете использовать его после каждого вызова printf
, чтобы заставить буфер очищаться.
Вы можете использовать функцию setvbuf:
setvbuf(stdout, NULL, _IONBF, 0);
Ссылка выше была сломана. Вот еще одна ссылка на функцию.
Вы также можете использовать setbuf
setbuf(stdout, NULL);
Это позаботится обо всем
Используйте fflush(FILE *stream)
с stdout
в качестве параметра.
Вы можете сделать это:
write(1, ".", 1);
вместо этого:
printf(".");