Стандартный буферный вывод (STDOUT)

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

Спасибо

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам