Работа с файлами
Работа с файлами в C++ — важная часть программирования, позволяющая сохранять данные между запусками программы, обмениваться информацией с другими приложениями и обрабатывать большие объемы данных.
Библиотека <fstream>
предоставляет три основных класса:
-
ifstream
— чтение из файла (Input File Stream). -
ofstream
— запись в файл (Output File Stream). -
fstream
— комбинированная работа (чтение и запись).
Открытие и закрытие файлов
Открытие файла (ifstream
, ofstream
)
Перед работой с файлом его нужно открыть. Можно указать путь и режим открытия.
Запись в файл (ofstream
)
-
ofstream
создает файл, если его нет, или перезаписывает существующий. -
is_open()
проверяет успешность открытия. -
close()
освобождает ресурсы.
ifstream
)
-
ifstream
читает файл, но не создает его, если его нет. -
getline()
считывает строку до символа перевода строки.
Режимы открытия файлов
Файлы можно открывать в разных режимах (флаги):
Флаг | Описание |
---|---|
std::ios::in |
Открыть для чтения (по умолчанию ifstream ) |
std::ios::out |
Открыть для записи (по умолчанию ofstream ) |
std::ios::app |
Дописывать в конец файла (не перезаписывать) |
std::ios::binary |
Открыть в бинарном режиме |
app
(добавление в конец)
Без app
файл перезапишется, с app
— новые данные добавятся в конец.
Обработка ошибок
Проверка состояния файла:
-
good()
— файл в хорошем состоянии. -
fail()
— ошибка (например, неверный тип данных). -
eof()
— достигнут конец файла.
inFile >> number
пытается прочитать число, если не получается — цикл прерывается.
Мы разобрали основные идеи работы с файлами на языке программирования C++. Далее, подробнее разберёмся как раотать с текстовыми и бинарными файлами!