Лекция
Привет, сегодня поговорим про стандартные потоки ввода-вывода, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое стандартные потоки ввода-вывода , настоятельно рекомендую прочитать все из категории Операционные системы и системное программировние.
стандартные потоки ввода-вывода в системах типа UNIX (и некоторых других) — потоки процесса, имеющие номер (дескриптор), зарезервированный для выполнения некоторых «стандартных» функций. Как правило (хотя и не обязательно), эти дескрипторы открыты уже в момент запуска задачи (исполняемого файла).
Поток номер 0 (stdin) зарезервирован для чтения команд пользователя или входных данных.
При интерактивном запуске программы по умолчанию нацелен на чтение с устройства текстового интерфейса пользователя (клавиатуры). Командная оболочка UNIX (и оболочки других систем) позволяют изменять цель этого потока с помощью символа «<
». Об этом говорит сайт https://intellect.icu . Системные программы (демоны и т. п.), как правило, не пользуются этим потоком.
Поток номер 1 (stdout) зарезервирован для вывода данных, как правило (хотя и не обязательно) текстовых.
При интерактивном запуске программы по умолчанию нацелен на запись на устройство отображения (монитор). Командная оболочка UNIX (и оболочки других систем ) позволяют перенаправить этот поток с помощью символа «>
». Средства для выполнения программ в фоновом режиме (например, nohup) обычно переназначают этот поток в файл.
Поток номер 2 (stderr) зарезервирован для вывода диагностических и отладочных сообщений в текстовом виде.
Чаще всего цель этого потока совпадает с stdout, однако, в отличие от него, цель потока stderr не меняется при «>
» и создании конвейеров («|
»). То есть, отладочные сообщения процесса, вывод которого перенаправлен, все равно попадут пользователю. Командная оболочка UNIX позволяет изменять цель этого потока с помощью конструкции «2>
». Например, для подавления вывода этого потока нередко пишется «2>/dev/null».
POSIX- функция обработки ошибок perror используется в языках программирования Си и C++ для вывода сообщения об ошибке в stderr на основе номера последней ошибки , хранящейся в errno.
В DOS можно было использовать также номер 4 (stdprn) и 5 (stdaux)[1].
Надеюсь, эта статья про стандартные потоки ввода-вывода, была вам полезна, счастья и удачи в ваших начинаниях! Надеюсь, что теперь ты понял что такое стандартные потоки ввода-вывода и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Операционные системы и системное программировние
Из статьи мы узнали кратко, но содержательно про стандартные потоки ввода-вывода
Комментарии
Оставить комментарий
Операционные системы и системное программировние
Термины: Операционные системы и системное программировние