Spec-Zone.ru › C

Ввод/вывод файлов

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

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

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

Типы

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

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

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

Функции

Доступ к файлам
Определено в заголовочном файле <stdio.h>
fopenfopen_s
(C11)
открывает файл
(функция)
freopenfreopen_s
(C11)
открывает существующий поток с другим именем
(функция)
fclose
закрывает файл
(функция)
fflush
синхронизирует выходной поток с фактическим файлом
(функция)
setbuf
устанавливает буфер для потока файла
(функция)
setvbuf
устанавливает буфер и его размер для потока файла
(функция)
Определено в заголовочном файле <wchar.h>
fwide
(C95)
переключает поток файла между вводом/выводом широких символов и вводом/выводом узких символов
(функция)
Прямой ввод/вывод
Определено в заголовочном файле <stdio.h>
fread
считывает данные из файла
(функция)
fwrite
записывает данные в файл
(функция)
Неформатированный ввод/вывод
Узкий символ
Определено в заголовочном файле <stdio.h>
fgetcgetc
получает символ из потока файла
(функция)
fgets
получает строку символов из потока файла
(функция)
fputcputc
записывает символ в поток файла
(функция)
fputs
записывает строку символов в поток файла
(функция)
getchar
считывает символ из stdin
(функция)
getsgets_s
(удалено в C11)(C11)
считывает строку символов из stdin
(функция)
putchar
записывает символ в stdout
(функция)
puts
записывает строку символов в stdout
(функция)
ungetc
возвращает символ в поток файла
(функция)
Широкий символ
Определено в заголовочном файле <wchar.h>
fgetwcgetwc
(C95)
получает широкий символ из потока файла
(функция)
fgetws
(C95)
получает широкую строку из потока файла
(функция)
fputwcputwc
(C95)
записывает широкий символ в поток файла
(функция)
fputws
(C95)
записывает широкую строку в поток файла
(функция)
getwchar
(C95)
считывает широкий символ из stdin
(функция)
putwchar
(C95)
записывает широкий символ в stdout
(функция)
ungetwc
(C95)
возвращает широкий символ в поток файла
(функция)
Форматированный ввод/вывод
Узкий символ
Определено в заголовочном файле <stdio.h>
scanffscanfsscanfscanf_sfscanf_ssscanf_s
(C11)(C11)(C11)
считывает форматированный ввод из stdin, потока файла или буфера
(функция)
vscanfvfscanfvsscanfvscanf_svfscanf_svsscanf_s
(C99)(C99)(C99)(C11)(C11)(C11)
считывает форматированный ввод из stdin, потока файла или буфера
с использованием переменной списка аргументов
(функция)
printffprintfsprintfsnprintfprintf_sfprintf_ssprintf_ssnprintf_s
(C99)(C11)(C11)(C11)(C11)
выводит форматированный вывод в stdout, поток файла или буфер
(функция)
vprintfvfprintfvsprintfvsnprintfvprintf_svfprintf_svsprintf_svsnprintf_s
(C99)(C11)(C11)(C11)(C11)
выводит форматированный вывод в stdout, поток файла или буфер
с использованием переменной списка аргументов
(функция)
Широкий символ
Определено в заголовочном файле <wchar.h>
wscanffwscanfswscanfwscanf_sfwscanf_sswscanf_s
(C95)(C95)(C95)(C11)(C11)(C11)
считывает форматированный ввод широких символов из stdin, потока файла или буфера
(функция)
vwscanfvfwscanfvswscanfvwscanf_svfwscanf_svswscanf_s
(C99)(C99)(C99)(C11)(C11)(C11)
считывает форматированный ввод широких символов из stdin, потока файла или буфера, используя список переменных аргументов
(функция)
wprintffwprintfswprintfwprintf_sfwprintf_sswprintf_ssnwprintf_s
(C95)(C95)(C95)(C11)(C11)(C11)(C11)
выводит форматированный ввод широких символов в stdout, поток файла или буфер
(функция)
vwprintfvfwprintfvswprintfvwprintf_svfwprintf_svswprintf_svsnwprintf_s
(C95)(C95)(C95)(C11)(C11)(C11)(C11)
выводит форматированный ввод широких символов в stdout, поток файла или буфер, используя список переменных аргументов
(функция)
Позиционирование файла
Определено в заголовке <stdio.h>
ftell
возвращает текущую позицию указателя файла
(функция)
fgetpos
получает указатель позиции файла
(функция)
fseek
перемещает указатель позиции файла в определенное местоположение в файле
(функция)
fsetpos
перемещает указатель позиции файла в определенное местоположение в файле
(функция)
rewind
перемещает указатель позиции файла в начало файла
(функция)
Обработка ошибок
Определено в заголовке <stdio.h>
clearerr
очищает ошибки
(функция)
feof
проверяет на конец файла
(функция)
ferror
проверяет на ошибку файла
(функция)
perror
отображает строку символов, соответствующую текущей ошибке, в stderr
(функция)
Операции с файлами
Определено в заголовке <stdio.h>
remove
удаляет файл
(функция)
rename
переименовывает файл
(функция)
tmpfiletmpfile_s
(C11)
возвращает указатель на временный файл
(функция)
tmpnamtmpnam_s
(C11)
возвращает уникальное имя файла
(функция)

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

Определено в заголовке <stdio.h>
EOF
целочисленная константа типа int и отрицательное значение
(макроконстанта)
FOPEN_MAX
максимальное количество файлов, которые могут быть открыты одновременно
(макроконстанта)
FILENAME_MAX
размер, необходимый для массива char для хранения самого длинного поддерживаемого имени файла
(макроконстанта)
BUFSIZ
размер буфера, используемого setbuf
(макроконстанта)
_IOFBF_IOLBF_IONBF
аргумент для setvbuf, указывающий на полностью буферизованный ввод/вывод
аргумент для setvbuf, указывающий на буферизованный ввод/вывод по строкам
аргумент для setvbuf, указывающий на небуферизованный ввод/вывод
(макроконстанта)
SEEK_SETSEEK_CURSEEK_END
аргумент для fseek, указывающий на поиск с начала файла
аргумент для fseek, указывающий на поиск с текущей позиции файла
аргумент для fseek, указывающий на поиск с конца файла
(макроконстанта)
TMP_MAXTMP_MAX_S
(C11)
максимальное количество уникальных имён файлов, которые могут быть сгенерированы tmpnam,
максимальное количество уникальных имён файлов, которые могут быть сгенерированы tmpnam_s
(макроконстанта)
L_tmpnamL_tmpnam_s
(C11)
размер, необходимый для массива char для хранения результата tmpnam,
размер, необходимый для массива char для хранения результата tmpnam_s
(макроконстанта)

Справочная информация

  • Стандарт C23 (ISO/IEC 9899:2023):
    • 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++ для Ввода/вывода файлов в стиле C

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/io

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API