Стандартный буферный вывод (STDOUT) - PullRequest
1 голос
/ 29 декабря 2010

По умолчанию STDOUT небуферизован? Если нет, то какой тип буферизации по умолчанию

Спасибо

Ответы [ 2 ]

5 голосов
/ 29 декабря 2010

Вы не указали язык, но предполагаете, что используете функции stdio C (fopen() и т. Д.) Или язык, который использует их (и большинство из них, по причинам переносимости):

Это зависит от базовой библиотеки времени выполнения C.

Большинство библиотек будут пытаться определить, подключен ли STDOUT к терминалу, и избегать буферизации, если это так, и выполнять буферизацию блоков (например, мою систему Linuxбуферизует 8Kb за раз) если нет.

1 голос
/ 29 декабря 2010

Краткий ответ: по умолчанию STDOUT обычно не буферизуется.Если это проблема для вас, есть fflush(stdout);, но это редко требуется

...