Ввод/вывод файлов в стиле C
Подмножество C ввода/вывода стандартной библиотеки C++ реализует операции ввода/вывода потоков в стиле C. Заголовок <cstdio> предоставляет поддержку общих операций с файлами и предоставляет функции с возможностями ввода/вывода узких и многобайтовых символов, а заголовок <cwchar> предоставляет функции с возможностями ввода/вывода символов расширенной кодировки.
Потоки C обозначаются объектами типа std::FILE, к которым можно обращаться и манипулировать только через указатели типа std::FILE*. Каждый поток C связан с внешним физическим устройством (файл, стандартный ввод, принтер, последовательный порт и т. д.).
Типы
Определено в заголовке <cstdio> |
|
|---|---|
| тип объекта, способный содержать всю информацию, необходимую для управления потоком ввода/вывода C (typedef) |
|
| полный тип объекта без массивов, способный однозначно указать позицию в файле, включая состояние анализа многобайтовых символов (typedef) |
|
Предопределенные стандартные потоки
Определено в заголовке <cstdio> |
|
|---|---|
выражение типа FILE*, связанное со входным потокомвыражение типа FILE*, связанное с выходным потокомвыражение типа FILE*, связанное с потоком вывода ошибок (макроконстанта) |
|
Функции
Определено в заголовке <cstdio> |
|
|---|---|
Доступ к файлам |
|
| открывает файл (функция) |
|
| открывает существующий поток с другим именем (функция) |
|
| закрывает файл (функция) |
|
| синхронизирует выходной поток с фактическим файлом (функция) |
|
| переключает поток файла между широким и узким вводом/выводом (функция) |
|
| устанавливает буфер для потока файла (функция) |
|
| устанавливает буфер и его размер для потока файла (функция) |
|
Прямой ввод/вывод |
|
| чтение из файла (функция) |
|
| запись в файл (функция) |
|
Неформатированный ввод/вывод |
|
Байтовый/многобайтовый символ |
|
| получает символ из потока файла (функция) |
|
| получает строку символов из потока файла (функция) |
|
| записывает символ в поток файла (функция) |
|
| записывает строку символов в поток файла (функция) |
|
считывает символ из stdin (функция) |
|
|
(устаревшая в C++11)(удалена в C++14) | считывает строку символов из stdin (функция) |
записывает символ в stdout (функция) |
|
записывает строку символов в stdout (функция) |
|
| возвращает символ обратно в поток файла (функция) |
|
Широкий символ |
|
| получает широкий символ из потока файла (функция) |
|
| получает широкую строку из потока файла (функция) |
|
| записывает широкий символ в поток файла (функция) |
|
| записывает широкую строку в поток файла (функция) |
|
считывает широкий символ из stdin (функция) |
|
записывает широкий символ в stdout (функция) |
|
| возвращает широкий символ обратно в поток файла (функция) |
|
Форматированный ввод/вывод |
|
Байтовый/многобайтовый символ |
|
считывает форматированный ввод из stdin, потока файла или буфера (функция) |
|
|
(C++11)(C++11)(C++11) | считывает форматированный ввод из stdin, потока файла или буферас использованием списка переменных аргументов (функция) |
|
(C++11) | выводит форматированный вывод в stdout, поток файла или буфер (функция) |
|
(C++11) | выводит форматированный вывод в stdout, поток файла или буферс использованием списка переменных аргументов (функция) |
Широкий символ |
|
считывает форматированный ввод широких символов из stdin, поток файла или буфер (функция) |
|
|
(C++11)(C++11)(C++11) | считывает форматированный ввод широких символов из stdin, поток файлаили буфер с использованием списка переменных аргументов (функция) |
выводит форматированный вывод широких символов в stdout, поток файла или буфер (функция) |
|
выводит форматированный вывод широких символов в stdout, поток файлаили буфер с использованием списка переменных аргументов (функция) |
|
Позиционирование в файле |
|
| возвращает текущую позицию указателя файла (функция) |
|
| получает указатель позиции файла (функция) |
|
| перемещает указатель позиции файла в определенное место в файле (функция) |
|
| перемещает указатель позиции файла в определенное место в файле (функция) |
|
| перемещает указатель позиции файла в начало файла (функция) |
|
Обработка ошибок |
|
| очищает ошибки (функция) |
|
| проверяет наличие конца файла (функция) |
|
| проверяет наличие ошибки файла (функция) |
|
отображает строку символов, соответствующую текущей ошибке, для stderr (функция) |
|
Операции с файлами |
|
| удаляет файл (функция) |
|
| переименовывает файл (функция) |
|
| создаёт и открывает временный файл с автоматическим удалением (функция) |
|
| возвращает уникальное имя файла (функция) |
|
Макроконстанты
Определено в заголовочном файле <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