Cтраница 1
Стандартный поток ошибок ( the standard error stream) обозначается как сегг. Поток cerr ( обычно связанный с экраном) используется для отображения сообщений об ошибках. [1]
Определяет дескриптор стандартного потока ошибок. [2]
Зачем в операционной системе UNIX проводится различие между стандартным выводом и стандартным потоком ошибок, если по умолчанию обоим соответствует терминал. [3]
Выражение типа указатель на FILE, которое ссылается на объект типа FILE, связанный со стандартным потоком ошибок. [4]
Функция perror выводит сообщение об ошибке, соответствующее текущему значению номера ошибки, определяемого как целое значение еггпо. Функция выводит в стандартный поток ошибок следующую последовательность символов: сначала выводится строка, на которую ссылается указатель s ( если s - не нулевой указатель и символ, на который ссылается s, не нулевой символ), затем выводятся двоеточие (:) и пробел, а затем выводится соответствующая строка сообщения об ошибке, завершаемая символом новой строки. Содержимое строк сообщения об ошибках зависит от реализации системы и совпадает со значением, возвращаемым функцией strerror при вызове ее с аргументом еггпо. [5]
Функция perror переводит номер ошибки, содержащийся в целом выражении еггпо, в сообщение об ошибке. Она пишет последовательность символов в стандартный поток ошибок следующим образом: сначала ( если s не является нулевым указателем и символ, на который указывает s, не является нулевым) строку, указываемую s, двоеточие (:) и пробел; затем соответствующую строку с сообщением об ошибке и символ новой строки. Содержание строки сообщения об ошибке точно такое же, как то, что возвращается функцией strerror с аргументом еггпо. [6]
При запуске программы к ней автоматически присоединяются три потока. Операционные системы нередко позволяют переадресовать эти потоки на другие устройства. Третий поток - стандартный поток ошибок - также присоединяется к экрану. В него выводятся сообщения об ошибках. В главе 11, Работа с файлами, потоки рассмотрены более подробно. [7]
![]() |
Язык C рассматривает файл как набор из п байтов. [8] |
Каждый файл завершается или маркером конца файла ( EOF - end-of - file marker) или указанным числом байтов, записанным в служебную структуру данных поддерживающей системой. Когда файл открывается, то создается объект и с этим объектом связывается поток. В главе 11 показано, что автоматически создаются четыре объекта - cin, cout, cerr и clog. Потоки, связанные с этими объектами, обеспечивают каналы связи между программой и отдельными файлами или устройствами. Например, объект cin ( объект стандартного потока ввода) дает возможность программе вводить данные с клавиатуры, объект cout ( объект стандартного потока вывода) позволяет программе выводить данные на экран, объекты cerr и clog ( объекты стандартного потока ошибок) позволяют программе выводить на экран сообщения об ошибках. [9]
Большинство программ на C вводят и выводят данные. Определенные функции C выполняют ввод из cin ( the standard input stream - стандартный поток ввода; произносится как си-ин), т.е. обычно с клавиатуры, но cin может быть связан и с другим устройством. Вывод данных производится в cout ( the standard output stream - стандартный поток вывода; произносится как си-аут), т.е. обычно на экран, но cout может быть связан и с другим устройством. Когда мы говорим, что программа печатает результат, мы обычно подразумеваем, что результат отображается на экране. Данные могут быть выведены и на другие устройства, например на диски или на принтер в виде твердой копии. Существует также стандартный поток ошибок ( the standard error stream), который обозначается сегг. [10]
![]() |
Вид файла из п байт с точки зрения С. [11] |
Каждый файл оканчивается или маркером конца файла, или особым байтом, определенным в работающей с файлами программе. Когда файл открывается, ему ставится в соответствие поток. В начале исполнения программы автоматически открываются три файла и связанные с ними потоки - стандартный ввод, стандартный вывод и стандартная ошибка. Потоки обеспечивают каналы передачи данных между файлами и программами. Например, стандартный поток ввода позволяет программе считывать данные с клавиатуры, а стандартный поток вывода позволяет выводить данные на экран. Открытый файл возвращает указатель на структуру FILE ( определенную в stdio. Эта структура включает дескриптор файла, то есть индекс в массиве операционной системы, называемом таблицей открытых файлов. Каждый элемент массива содержит блок управления файлом ( FCB), который используется операционной системой для доступа к конкретному файлу. Для обращения к стандартному вводу, стандартному выводу и стандартному потоку ошибок следует воспользоваться указателями файлов stdin, stdout и stderr соответственно. [12]