LINUX.ORG.RU

Вопрос по stdin, stdout, stderror


0

3

Правильно ли я понимаю, что в каждом выполняющемся процессе есть буфер для каждого потока(stdin, stdout, stderror), в который соответствующий поток заносит информацию?



Последнее исправление: iwsyhgia (всего исправлений: 1)

есть буфер для каждого потока(stdin, stdout, stderror), в который соответствующий поток заносит информацию?

Есть file stream'ы (FILE *stdin, *stdout, *stderr) для стандартных дескрипторов (int STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO), если они открыты. Никто никуда сам не заносит, но операции над FILE* могут буферизоваться. В терминале stdin/stdout буферизуются построчно (\n), иначе блочно (BUFSIZ), stderr вроде всегда посимвольно. Про setvbuf уже сказали, глянь ман.

arturpub ★★
()

я чот не понял, ТС мурзилку не читал что ли? Pike наше фсио!

mumpster ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.