Стандартния вход, стандартния изход, STDERR - стандартни предавания и

ЗАГЛАВИЕ
стандартния вход, стандартния изход, STDERR - стандартни потоци I / O

Кратък обзор
#include
екстернант FILE * стандартния вход;
екстернант FILE * стандартния изход;
екстернант FILE * STDERR;

ОПИСАНИЕ
При нормални обстоятелства всяка програма Unix е три потока отворени за
когато е започнал, по един за изход и един за вход и един изход за
диагностични или съобщения за грешка. те обикновено са свързани с
потребителския терминал (вж. йу (4)), но може да се отнася до
файлове или друго устройство, в зависимост от това, което е зададено
процес родител (чете раздел # 96; # 96; I / O пренасочване
(Пренасочване) '' в од (1)).

поток вход се нарича # 96; # 96; стандартния вход (стандартния) ''; поток
О, се нарича # 96; # 96; стандартния изход (стандартния изход) ''; и потокът
съобщения за грешки, наречени # 96; # 96; стандартна грешка (стандарт
грешка) ''. Тези условия са намалели за имената на файловете, които са
точкови връзки, а именно: стандартния вход, стандартния изход и STDERR.

Всяка от тези условия е макро stdio (3), показващо ФАЙЛ;
възможно използването им с такива функции като fprintf (3) или
fread (3).

Променливи от тип FILE са буферирани черупки дръжки
Unix файл. Достъпът до тези файлове може да се извърши и чрез
ниско ниво интерфейс за работа с файлове, както и използването на такива
функционира като четене (2) и lseek (2). Цели описания на файлове, асоциирани
Вдяване стандартния вход, стандартния изход и STDERR, са съответно равни на 0, 1 и 2.
Константи STDIN_FILENO, STDOUT_FILENO и STDERR_FILENO идентифицира тези
ценности инча

Имайте предвид, че за споделяне на файлове и дръжки ниско ниво
може да доведе до нежелани последствия, трябва да се избягва при
всяка възможност. За "мазохисти": POSIX.1, раздел 8.2.3, детайли
Той описва как да се определи, като работа в екип. По правило
се посочва, че дескрипторите в ядрото, а е само stdio
Библиотека. Това означава например, че след операцията
детето наследява всички отворени описания на файлове, но всички стари
потоци не са налични.

От стандартния вход, стандартния изход и STDERR са определени като макроси, след което наследи им
това е невъзможно. Стандартните потоци могат да се отнасят до други файлове, използвайки
функция библиотека freopen (3), специално предназначена да бъде в състояние да
наследяване стандартния вход, стандартния изход и STDERR. Стандартните потоци могат да бъдат затворени
обадите на изхода (3) и по време на нормалното прекратяване на програмата.

СЪОБРАЖЕНИЯ
Feed STDERR не буферира. Поток стандартния изход буфер в ред
адрес към терминала. Непълни линии не се появят, или да се обадя
fflush (3) или изход (3), или до нов ред се отпечатва. това
може да доведе до непредвидими последици, особено ако изхода на доклад
отстраняване на грешки. буферен режим стандартни потоци (или друга)
Призовава могат да бъдат променяни setbuf (3) или setvbuf (3). Имайте предвид, че в
стандартния вход този случай е свързан с терминал, където е възможно
буфериране терминал пилот вход, който не е свързан с
I / O буфериране. В действителност, ред изводи за въвеждане
буферирани в ядрото. Обработка на входните данни може да бъде сърцевината
tcsetattr променена с помощта на вида повикване, (3); Вж. Също stty (1) и
termios (3). Макрос стандартния вход, стандартния изход и STDERR към ANSI
X3.159-1989 (# 96, # 96; ANSI C '), в който се посочва, че трите потоци трябва
отварят при стартиране на програмата.

Offtopic

>>> След пет месеца на развитие видяха освобождаването на работни среди мате 1.12, в която по-нататъшното развитие на GNOME 2.32 код основа при поддържане на класически концепция на образуването на работния плот. Инсталиране на пакети с MATE 1,12 в близко бъдеще ще бъдат подготвени за Arch Linux. Linux Mint, Debian, Ubuntu, Fedora, Mageia, Slackware и OpenSUSE. MATE 1.12 ще бъде част от следващата версия на Linux Mint 17.3, а също така ще бъде на разположение в близост до хранилището за потребителите на Ubuntu половинка.

>>> Кеес Кук (КЕС Cook), бивш главен лидер системен администратор kernel.org екипа за сигурност на Ubuntu, който сега работи в Google на софтуер за защита на ChromeOS, обяви създаването на ядрото на проекта Self защита на проекта, в който планира да изгради общност за развитие и промоция на основните технологии активна защита Linux ядрото, повечето от които вече са изготвени в рамките на Pax и Grsecurity проекти. Финансиране и ресурси за работата ще бъдат предоставени от Linux Foundation организацията, както и членовете на Основната програма инициатива за инфраструктура.

>>> Освобождаването на Linux Ubuntu 15.10 -distributiva "Wily Върколак". Завършени монтаж на изображения, създадени за Ubuntu Desktop, Ubuntu Server, и Ubuntu ядрото (за тях в последните етапи на тестване предлагат само дневно натрупване), както и Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Cloud, Ubuntu GNOME и Xubuntu.