Namespaces
Variants

File input/output

From cppreference.net
< c

Заголовок <stdio.h> предоставляет поддержку общих операций с файлами и обеспечивает функции для ввода/вывода узких символов.

Заголовок <wchar.h> предоставляет функции с возможностями ввода/вывода широких символов.

Потоки ввода-вывода обозначаются объектами типа FILE , которые могут быть доступны и управляемы только через указатели типа FILE * . Каждый поток связан с внешним физическим устройством (файлом, стандартным потоком ввода, принтером, последовательным портом и т.д.).

Содержание

Типы

Определено в заголовочном файле <stdio.h>
тип объекта, способный хранить всю информацию, необходимую для управления потоком ввода-вывода в C
(typedef)
не-массивный полный тип объекта, способный однозначно определять позицию и состояние многобайтового парсера в файле
(typedef)

Предопределенные стандартные потоки

Определено в заголовочном файле <stdio.h>
выражение типа FILE * связанное со входным потоком
выражение типа FILE * связанное с выходным потоком
выражение типа FILE * связанное с потоком вывода ошибок
(макроконстанта)

Функции

Доступ к файлам
Определено в заголовочном файле <stdio.h>
открывает файл
(функция)
открыть существующий поток с другим именем
(функция)
закрывает файл
(функция)
синхронизирует выходной поток с фактическим файлом
(функция)
устанавливает буфер для файлового потока
(функция)
устанавливает буфер и его размер для файлового потока
(функция)
Определено в заголовочном файле <wchar.h>
(C95)
переключает файловый поток между широкосимвольным вводом-выводом и узкосимвольным вводом-выводом
(функция)
Прямой ввод/вывод
Определено в заголовочном файле <stdio.h>
читает из файла
(функция)
записывает в файл
(функция)
Неформатированный ввод/вывод
Узкий символ
Определено в заголовке <stdio.h>
получает символ из файлового потока
(функция)
получает строку символов из файлового потока
(функция)
записывает символ в файловый поток
(функция)
записывает строку символов в файловый поток
(функция)
считывает символ из stdin
(функция)
(удалена в C11) (C11)
читает строку символов из stdin
(функция)
записывает символ в stdout
(функция)
записывает строку символов в stdout
(функция)
возвращает символ обратно в файловый поток
(функция)
Широкий символ
Определено в заголовке <wchar.h>
получает широкий символ из файлового потока
(функция)
(C95)
получает широкую строку из файлового потока
(функция)
записывает широкий символ в файловый поток
(функция)
(C95)
записывает широкую строку в файловый поток
(функция)
читает широкий символ из stdin
(функция)
записывает широкий символ в stdout
(функция)
(C95)
возвращает широкий символ обратно в файловый поток
(функция)
Форматированный ввод/вывод
Узкий символ
Определено в заголовочном файле <stdio.h>
читает форматированный ввод из stdin , файлового потока или буфера
(функция)
(C99) (C99) (C99) (C11) (C11) (C11)
читает форматированный ввод из stdin , файлового потока или буфера
используя список переменных аргументов
(функция)
выводит форматированные данные в stdout , файловый поток или буфер
(функция)
выводит форматированный вывод в stdout , файловый поток или буфер
используя список переменных аргументов
(функция)
Широкий символ
Определено в заголовочном файле <wchar.h>
(C95) (C95) (C95) (C11) (C11) (C11)
читает форматированный ввод широких символов из stdin , файлового потока или буфера
(функция)
читает форматированный ввод широких символов из stdin , файлового потока
или буфера с использованием списка переменных аргументов
(функция)
выводит форматированные широкие символы в stdout , файловый поток или буфер
(функция)
выводит форматированные широкие символы в stdout , файловый поток
или буфер, используя список переменных аргументов
(функция)
Позиционирование в файле
Определено в заголовочном файле <stdio.h>
возвращает текущий индикатор позиции в файле
(функция)
получает индикатор позиции в файле
(функция)
перемещает указатель позиции файла в определённое место в файле
(функция)
перемещает индикатор позиции в файле в определенное место
(функция)
перемещает индикатор позиции файла в начало файла
(функция)
Обработка ошибок
Определено в заголовочном файле <stdio.h>
очищает ошибки
(функция)
проверяет достижение конца файла
(функция)
проверяет наличие ошибки файла
(функция)
выводит строку символов, соответствующую текущей ошибке, в stderr
(функция)
Операции с файлами
Определено в заголовочном файле <stdio.h>
удаляет файл
(функция)
переименовывает файл
(функция)
возвращает указатель на временный файл
(функция)
возвращает уникальное имя файла
(функция)

Макроконстанты

Определено в заголовочном файле <stdio.h>
EOF
целочисленное константное выражение типа int с отрицательным значением
(макроконстанта)
FOPEN_MAX
максимальное количество файлов, которые могут быть открыты одновременно
(макроконстанта)
FILENAME_MAX
размер, необходимый для массива char для хранения самого длинного поддерживаемого имени файла
(макроконстанта)
BUFSIZ
размер буфера, используемого setbuf
(макроконстанта)
_IOFBF _IOLBF _IONBF
аргумент для setvbuf указывающий на полностью буферизованный ввод-вывод
аргумент для setvbuf указывающий на построчно буферизованный ввод-вывод
аргумент для setvbuf указывающий на небуферизованный ввод-вывод
(макроконстанта)
SEEK_SET SEEK_CUR SEEK_END
аргумент для fseek указывающий на поиск от начала файла
аргумент для fseek указывающий на поиск от текущей позиции в файле
аргумент для fseek указывающий на поиск от конца файла
(макроконстанта)
TMP_MAX TMP_MAX_S
(C11)
максимальное количество уникальных имен файлов, которые могут быть сгенерированы tmpnam
максимальное количество уникальных имен файлов, которые могут быть сгенерированы tmpnam_s
(макроконстанта)
L_tmpnam L_tmpnam_s
(C11)
размер, необходимый для массива char для хранения результата tmpnam
размер, необходимый для массива char для хранения результата tmpnam_s
(макроконстанта)

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.21 Ввод/вывод <stdio.h> (стр.: TBD)
  • 7.29 Расширенные утилиты многобайтовых и широких символов <wchar.h> (стр.: TBD)
  • 7.31.11 Ввод/вывод <stdio.h> (стр.: TBD)
  • 7.31.16 Расширенные утилиты многобайтовых и широких символов <wchar.h> (стр.: TBD)
  • K.3.5 Ввод/вывод <stdio.h> (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.21 Ввод/вывод <stdio.h> (стр: TBD)
  • 7.29 Расширенные многобайтовые и широкосимвольные утилиты <wchar.h> (стр: TBD)
  • 7.31.11 Ввод/вывод <stdio.h> (стр: TBD)
  • 7.31.16 Расширенные многобайтовые и широкосимвольные утилиты <wchar.h> (стр: TBD)
  • K.3.5 Ввод/вывод <stdio.h> (стр: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.21 Ввод/вывод <stdio.h> (стр: 296-339)
  • 7.29 Расширенные утилиты многобайтовых и широких символов <wchar.h> (стр: 402-446)
  • 7.31.11 Ввод/вывод <stdio.h> (стр: 456)
  • 7.31.16 Расширенные утилиты многобайтовых и широких символов <wchar.h> (стр: 456)
  • K.3.5 Ввод/вывод <stdio.h> (стр: 586-603)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.19 Ввод/вывод <stdio.h> (стр: 262-305)
  • 7.24 Расширенные многобайтовые и широкосимвольные утилиты <wchar.h> (стр: 348-392)
  • 7.26.9 Ввод/вывод <stdio.h> (стр: 402)
  • 7.26.12 Расширенные многобайтовые и широкосимвольные утилиты <wchar.h> (стр: 402)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.9 ВВОД/ВЫВОД <stdio.h>
  • 4.13.6 Ввод/вывод <stdio.h>

Смотрите также

C++ documentation для C-style file input/output