Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

       stdio - библиотека функций стандартного ввода-вывода

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdio.h>

       FILE *stdin;
       FILE *stdout;
       FILE *stderr;

ОПИСАНИЕ

       Библиотеки   стандартного  ввода-вывода  предоставляют  простой  и  эффективный  интерфейс
       буферизируемого потока  ввода-вывода.  Ввод  и  вывод  представляется  логическим  потоком
       данных,  а  физические  характеристики  ввода-вывода  скрываются.  Далее приводится список
       функций и макросов; более подробная информация находится в соответствующих страницах.

       A stream is associated with an external file (which may be a physical device) by opening a
       file,  which may involve creating a new file.  Creating an existing file causes its former
       contents to be discarded.  If a file can support positioning  requests  (such  as  a  disk
       file, as opposed to a terminal), then a file position indicator associated with the stream
       is positioned at the start of the file (byte zero), unless the file is opened with  append
       mode.   If  append  mode is used, it is unspecified whether the position indicator will be
       placed at the start or the end of the file.   The  position  indicator  is  maintained  by
       subsequent reads, writes, and positioning requests.  All input occurs as if the characters
       were read by successive calls to the fgetc(3)  function; all output takes place as if  all
       characters were written by successive calls to the fputc(3) function.

       Соотношение  потока  с  файлом  прекращается при закрытии файла. Перед прекращением потоки
       вывода  очищаются  (flushed)  (содержимое  незаписанного  буфера  передаётся  в  системное
       окружение).   Значение   указателя   на   объект  FILE  после  закрытия  файла  становится
       неопределённым (мусорным).

       Впоследствии файл может быть открыт ещё раз той же самой  или  другой  программой,  а  его
       содержание  может  быть восстановлено или изменено (если можно перейти в его начало). Если
       основная  функция  завершает  работу  и  возвращает  значения  своему  родителю  или  если
       вызывается  функция  exit(3),  то перед закрытием программы закрываются все открытые файлы
       (и,  следовательно,  очищаются  все  потоки  вывода).  Другие  методы  закрытия  программ,
       например, abort(3), не всегда приводят к корректному закрытию файлов.

       При  запуске программы предопределяются три текстовых потока, которые не следует открывать
       явно: стандартный ввод (standard input) (для чтения условного  ввода),  стандартный  вывод
       (standard  output)  (для  записи  условного  вывода)  и стандартный поток ошибок (standard
       error) (для вывода диагностики). Сокращённые названия потоков: stdin, stdout и stderr. При
       открытии, стандартный поток ошибок буферизируется не полностью; стандартные потоки ввода и
       вывода полностью буферизируются только при условии, что они  не  ссылаются  на  какое-либо
       интерактивное устройство.

       Потоки вывода, ссылающиеся на устройства терминала, по умолчанию буферизируются построчно;
       ожидающие в таких потоках данные записываются  автоматически  всякий  раз  при  чтении  из
       потока  ввода,  ссылающегося  на терминал. В случаях, когда после вывода на терминал части
       строки  объём  производимых  вычислений  велик,  необходимо  выполнять  fflush(3),   чтобы
       появилась часть строки до вычислений.

       Библиотека  stdio  является  частью  библиотеки  libc, а функции автоматически загружаются
       cc(1) по мере надобности. В разделе  СИНТАКСИС  справочных  страниц  указано  какие  файлы
       заголовков  необходимо  использовать,  как  выглядят  объявления  функций  и какие внешние
       переменные представляют интерес для работы.

       В списке далее перечислены макросы; эти имена не  могут  быть  использованы  повторно  без
       предварительного  удаления  их  определений  с  помощью #undef: BUFSIZ, EOF, FILENAME_MAX,
       FOPEN_MAX, L_cuserid, L_ctermid, L_tmpnam, NULL, SEEK_END,  SEEK_SET,  SEEK_CUR,  TMP_MAX,
       clearerr,  feof,  ferror, fileno, getc, getchar, putc, putchar, stderr, stdin, stdout. Для
       feof, ferror, clearerr, fileno, getc, getchar, putc, и putchar существуют  версии  в  виде
       функций, которые используются если определения макросов были удалены явно.

   Список функций
       функция          описание
       ───────────────────────────────────────────────────────────────────────────────────────────
       clearerr(3)      проверяет и сбрасывает состояние потока
       fclose(3)        закрывает поток
       fdopen(3)        функции для открытия потоков
       feof(3)          проверяет и сбрасывает состояние потока
       ferror(3)        проверяет и сбрасывает состояние потока
       fflush(3)        сбрасывает поток
       fgetc(3)         считывает следующий символ или слово из входного потока
       fgetpos(3)       смена указания в потоке
       fgets(3)         считывает строку из потока
       fileno(3)        возвращает целочисленный дескриптор аргумента потока
       fopen(3)         функции для открытия потоков
       fprintf(3)       вывод по формату
       fpurge(3)        сбрасывает поток
       fputc(3)         выводит символ или слово в поток
       fputs(3)         выводит строку в поток
       fread(3)         считывает двоичные данные потока ввода-вывода
       freopen(3)       функции для открытия потоков
       fscanf(3)        форматирует входные данные
       fseek(3)         смена указания в потоке
       fsetpos(3)       смена указания в потоке
       ftell(3)         смена указания в потоке
       fwrite(3)        считывает двоичные данные потока ввода-вывода
       getc(3)          считывает следующий символ или слово из входного потока
       getchar(3)       считывает следующий символ или слово из входного потока
       gets(3)          считывает строку из потока
       getw(3)          считывает следующий символ или слово из входного потока
       mktemp(3)        создаёт имя временного файла (уникальное)
       perror(3)        сообщения о системных ошибках
       printf(3)        вывод по формату
       putc(3)          выводит символ или слово в поток
       putchar(3)       выводит символ или слово в поток
       puts(3)          выводит строку в поток
       putw(3)          выводит символ или слово в поток
       remove(3)        удаляет запись из каталога
       rewind(3)        смена указания в потоке
       scanf(3)         форматирует входные данные
       setbuf(3)        операции буферизации потока
       setbuffer(3)     операции буферизации потока
       setlinebuf(3)    операции буферизации потока
       setvbuf(3)       операции буферизации потока
       sprintf(3)       вывод по формату
       sscanf(3)        форматирует входные данные
       strerror(3)      сообщения о системных ошибках
       sys_errlist(3)   сообщения о системных ошибках
       sys_nerr(3)      сообщения о системных ошибках
       tempnam(3)       функции для работы с временным файлом
       tmpfile(3)       функции для работы с временным файлом
       tmpnam(3)        функции для работы с временным файлом
       ungetc(3)        возвращает символ во входной поток
       vfprintf(3)      вывод по формату
       vfscanf(3)       форматирует входные данные
       vprintf(3)       вывод по формату
       vscanf(3)        форматирует входные данные
       vsprintf(3)      вывод по формату
       vsscanf(3)       форматирует входные данные

СТАНДАРТЫ

       The stdio library conforms to C99.

СМ. ТАКЖЕ

       close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства   был   сделан   Alexander   Golubev
       <fatzer2@gmail.com>,  Azamat  Hackimov  <azamat.hackimov@gmail.com>,   Hotellook,   Nikita
       <zxcvbnm3230@mail.ru>,       Spiros       Georgaras       <sng@hellug.gr>,       Vladislav
       <ivladislavefimov@gmail.com>,   Yuri   Kozlov   <yuray@komyakino.ru>   и    Иван    Павлов
       <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.