💻 PYTHON Backend Frontend
53.5K subscribers
290 photos
45 videos
66 links
🔥 ЕЩЁ БОЛЬШЕ КОНТЕНТА:
t.me/addlist/2EjwwexCDeRlNWNh

💬 ЧАТЫ ДЛЯ ОБЩЕНИЯ:
t.me/addlist/1ZoIIyAsAgkzYjEx

🌐 Реклама / Сотрудничество: @DealAds
Download Telegram
В UNIX stdout — это обычный файловый дескриптор с номером 1.

Из этого вытекает не самый очевидный эффект: если закрыть дескриптор 1, следующий открытый файл вполне может занять его место.

Например, в такой ситуации:

close(1);
FILE *f = fopen("output.txt", "w");
printf("hello\n");


вызов printf может отправить текст не в терминал, а прямо в output.txt.

Причина простая: ОС обычно выдаёт минимальный свободный дескриптор. Освободили 1 — значит, он снова доступен для нового файла.

Небольшая деталь, но именно на таких вещах и строится глубокое понимание UNIX и работы с вводом-выводом.

#unix #stdout #cprogramming