File input/output
Заголовок <stdio.h> предоставляет поддержку общих операций с файлами и обеспечивает функции для ввода/вывода узких символов.
Заголовок <wchar.h> предоставляет функции с возможностями ввода/вывода широких символов.
Потоки ввода-вывода обозначаются объектами типа FILE , которые могут быть доступны и управляемы только через указатели типа FILE * . Каждый поток связан с внешним физическим устройством (файлом, стандартным потоком ввода, принтером, последовательным портом и т.д.).
Содержание |
Типы
|
Определено в заголовочном файле
<stdio.h>
|
|
|
тип объекта, способный хранить всю информацию, необходимую для управления потоком ввода-вывода в C
(typedef) |
|
|
не-массивный полный тип объекта, способный однозначно определять позицию и состояние многобайтового парсера в файле
(typedef) |
|
Предопределенные стандартные потоки
|
Определено в заголовочном файле
<stdio.h>
|
|
|
выражение типа
FILE
*
связанное со входным потоком
выражение типа FILE * связанное с выходным потоком выражение типа FILE * связанное с потоком вывода ошибок (макроконстанта) |
|
Функции
Доступ к файлам |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
(C11)
|
открывает файл
(функция) |
|
(C11)
|
открыть существующий поток с другим именем
(функция) |
|
закрывает файл
(функция) |
|
|
синхронизирует выходной поток с фактическим файлом
(функция) |
|
|
устанавливает буфер для файлового потока
(функция) |
|
|
устанавливает буфер и его размер для файлового потока
(функция) |
|
|
Определено в заголовочном файле
<wchar.h>
|
|
|
(C95)
|
переключает файловый поток между широкосимвольным вводом-выводом и узкосимвольным вводом-выводом
(функция) |
Прямой ввод/вывод |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
читает из файла
(функция) |
|
|
записывает в файл
(функция) |
|
Неформатированный ввод/вывод |
|
Узкий символ |
|
|
Определено в заголовке
<stdio.h>
|
|
|
получает символ из файлового потока
(функция) |
|
|
получает строку символов из файлового потока
(функция) |
|
|
записывает символ в файловый поток
(функция) |
|
|
записывает строку символов в файловый поток
(функция) |
|
|
считывает символ из
stdin
(функция) |
|
|
(удалена в C11)
(C11)
|
читает строку символов из
stdin
(функция) |
|
записывает символ в
stdout
(функция) |
|
|
записывает строку символов в
stdout
(функция) |
|
|
возвращает символ обратно в файловый поток
(функция) |
|
Широкий символ |
|
|
Определено в заголовке
<wchar.h>
|
|
|
(C95)
|
получает широкий символ из файлового потока
(функция) |
|
(C95)
|
получает широкую строку из файлового потока
(функция) |
|
(C95)
|
записывает широкий символ в файловый поток
(функция) |
|
(C95)
|
записывает широкую строку в файловый поток
(функция) |
|
(C95)
|
читает широкий символ из
stdin
(функция) |
|
(C95)
|
записывает широкий символ в
stdout
(функция) |
|
(C95)
|
возвращает широкий символ обратно в файловый поток
(функция) |
Форматированный ввод/вывод |
|
Узкий символ |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
(C11)
(C11)
(C11)
|
читает форматированный ввод из
stdin
, файлового потока или буфера
(функция) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
читает форматированный ввод из
stdin
, файлового потока или буфера
используя список переменных аргументов (функция) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
выводит форматированные данные в
stdout
, файловый поток или буфер
(функция) |
|
(C99)
(C11)
(C11)
(C11)
(C11)
|
выводит форматированный вывод в
stdout
, файловый поток или буфер
используя список переменных аргументов (функция) |
Широкий символ |
|
|
Определено в заголовочном файле
<wchar.h>
|
|
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
|
читает форматированный ввод широких символов из
stdin
, файлового потока или буфера
(функция) |
|
(C99)
(C99)
(C99)
(C11)
(C11)
(C11)
|
читает форматированный ввод широких символов из
stdin
, файлового потока
или буфера с использованием списка переменных аргументов (функция) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
выводит форматированные широкие символы в
stdout
, файловый поток или буфер
(функция) |
|
(C95)
(C95)
(C95)
(C11)
(C11)
(C11)
(C11)
|
выводит форматированные широкие символы в
stdout
, файловый поток
или буфер, используя список переменных аргументов (функция) |
Позиционирование в файле |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
возвращает текущий индикатор позиции в файле
(функция) |
|
|
получает индикатор позиции в файле
(функция) |
|
|
перемещает указатель позиции файла в определённое место в файле
(функция) |
|
|
перемещает индикатор позиции в файле в определенное место
(функция) |
|
|
перемещает индикатор позиции файла в начало файла
(функция) |
|
Обработка ошибок |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
очищает ошибки
(функция) |
|
|
проверяет достижение конца файла
(функция) |
|
|
проверяет наличие ошибки файла
(функция) |
|
|
выводит строку символов, соответствующую текущей ошибке, в
stderr
(функция) |
|
Операции с файлами |
|
|
Определено в заголовочном файле
<stdio.h>
|
|
|
удаляет файл
(функция) |
|
|
переименовывает файл
(функция) |
|
|
(C11)
|
возвращает указатель на временный файл
(функция) |
|
(C11)
|
возвращает уникальное имя файла
(функция) |
Макроконстанты
|
Определено в заголовочном файле
<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
|