Spec-Zone.ru › C++

Ввод/вывод файлов в стиле C

Подмножество C ввода/вывода стандартной библиотеки C++ реализует операции ввода/вывода потоков в стиле C. Заголовок <cstdio> предоставляет поддержку общих операций с файлами и предоставляет функции с возможностями ввода/вывода узких и многобайтовых символов, а заголовок <cwchar> предоставляет функции с возможностями ввода/вывода символов расширенной кодировки.

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

Типы

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

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

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

Функции

Определено в заголовке <cstdio>
Доступ к файлам
fopen
открывает файл
(функция)
freopen
открывает существующий поток с другим именем
(функция)
fclose
закрывает файл
(функция)
fflush
синхронизирует выходной поток с фактическим файлом
(функция)
fwide
переключает поток файла между широким и узким вводом/выводом
(функция)
setbuf
устанавливает буфер для потока файла
(функция)
setvbuf
устанавливает буфер и его размер для потока файла
(функция)
Прямой ввод/вывод
fread
чтение из файла
(функция)
fwrite
запись в файл
(функция)
Неформатированный ввод/вывод
Байтовый/многобайтовый символ
fgetcgetc
получает символ из потока файла
(функция)
fgets
получает строку символов из потока файла
(функция)
fputcputc
записывает символ в поток файла
(функция)
fputs
записывает строку символов в поток файла
(функция)
getchar
считывает символ из stdin
(функция)
gets
(устаревшая в C++11)(удалена в C++14)
считывает строку символов из stdin
(функция)
putchar
записывает символ в stdout
(функция)
puts
записывает строку символов в stdout
(функция)
ungetc
возвращает символ обратно в поток файла
(функция)
Широкий символ
fgetwcgetwc
получает широкий символ из потока файла
(функция)
fgetws
получает широкую строку из потока файла
(функция)
fputwcputwc
записывает широкий символ в поток файла
(функция)
fputws
записывает широкую строку в поток файла
(функция)
getwchar
считывает широкий символ из stdin
(функция)
putwchar
записывает широкий символ в stdout
(функция)
ungetwc
возвращает широкий символ обратно в поток файла
(функция)
Форматированный ввод/вывод
Байтовый/многобайтовый символ
scanffscanfsscanf
считывает форматированный ввод из stdin, потока файла или буфера
(функция)
vscanfvfscanfvsscanf
(C++11)(C++11)(C++11)
считывает форматированный ввод из stdin, потока файла или буфера
с использованием списка переменных аргументов
(функция)
printffprintfsprintfsnprintf
(C++11)
выводит форматированный вывод в stdout, поток файла или буфер
(функция)
vprintfvfprintfvsprintfvsnprintf
(C++11)
выводит форматированный вывод в stdout, поток файла или буфер
с использованием списка переменных аргументов
(функция)
Широкий символ
wscanffwscanfswscanf
считывает форматированный ввод широких символов из stdin, поток файла или буфер
(функция)
vwscanfvfwscanfvswscanf
(C++11)(C++11)(C++11)
считывает форматированный ввод широких символов из stdin, поток файла
или буфер с использованием списка переменных аргументов
(функция)
wprintffwprintfswprintf
выводит форматированный вывод широких символов в stdout, поток файла или буфер
(функция)
vwprintfvfwprintfvswprintf
выводит форматированный вывод широких символов в stdout, поток файла
или буфер с использованием списка переменных аргументов
(функция)
Позиционирование в файле
ftell
возвращает текущую позицию указателя файла
(функция)
fgetpos
получает указатель позиции файла
(функция)
fseek
перемещает указатель позиции файла в определенное место в файле
(функция)
fsetpos
перемещает указатель позиции файла в определенное место в файле
(функция)
rewind
перемещает указатель позиции файла в начало файла
(функция)
Обработка ошибок
clearerr
очищает ошибки
(функция)
feof
проверяет наличие конца файла
(функция)
ferror
проверяет наличие ошибки файла
(функция)
perror
отображает строку символов, соответствующую текущей ошибке, для stderr
(функция)
Операции с файлами
remove
удаляет файл
(функция)
rename
переименовывает файл
(функция)
tmpfile
создаёт и открывает временный файл с автоматическим удалением
(функция)
tmpnam
возвращает уникальное имя файла
(функция)

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

Определено в заголовочном файле <cstdio>
EOF
целочисленное константное выражение типа int с отрицательным значением
(макроконстанта)
FOPEN_MAX
количество файлов, которые могут быть открыты одновременно
(макроконстанта)
FILENAME_MAX
размер, необходимый для массива char, чтобы содержать самое длинное поддерживаемое имя файла
(макроконстанта)
BUFSIZ
размер буфера, используемого std::setbuf
(макроконстанта)
_IOFBF_IOLBF_IONBF
аргумент для std::setbuf, указывающий на полностью буферизованный ввод/вывод
аргумент для std::setbuf, указывающий на построчно буферизованный ввод/вывод
аргумент для std::setbuf, указывающий на небуферизованный ввод/вывод
(макроконстанта)
SEEK_SETSEEK_CURSEEK_END
аргумент для std::fseek, указывающий на поиск с начала файла
аргумент для std::fseek, указывающий на поиск с текущей позиции файла
аргумент для std::fseek, указывающий на поиск с конца файла
(макроконстанта)
TMP_MAX
максимальное количество уникальных имён файлов, гарантированно генерируемых std::tmpnam
(макроконстанта)
L_tmpnam
размер, необходимый для массива char, чтобы содержать результат std::tmpnam
(макроконстанта)

См. также

C документация для Ввод/вывод файлов

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

Spec-Zone.ru

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