РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
472 of 815 menu

Метод open

Метод open класса ofstream открывает файл для записи и связывает его с потоком. Первым параметром метод принимает путь к файлу, а вторым - режим открытия. Режим открытия задаёт способ работы с файлом: перезапись, добавление в конец, запись в бинарном виде и так далее.

По умолчанию файл открывается в режиме ios::out, который перезаписывает содержимое файла. Если файл не существует, он будет создан. Метод не возвращает значение, а признак успешного открытия можно проверить через метод is_open или оператор приведения к типу bool.

Синтаксис

ofstream.open(path, [mode])

Пример

Давайте откроем файл test.txt и запишем в него строку "abcde":

#include <iostream> #include <fstream> using namespace std; int main() { ofstream file; file.open("test.txt"); if (file.is_open()) { file << "abcde" << endl; file.close(); } return 0; }

После выполнения кода в файле test.txt будет записана строка:

"abcde"

Пример

Давайте откроем файл в режиме добавления ios::app, чтобы записать новую строку в конец файла, не стирая предыдущее содержимое:

#include <iostream> #include <fstream> using namespace std; int main() { ofstream file; file.open("test.txt", ios::app); if (file.is_open()) { file << "12345" << endl; file.close(); } return 0; }

Если файл test.txt уже содержал строку "abcde", то после выполнения кода он будет содержать:

"abcde" "12345"

Пример

Давайте проверим, что метод open вернёт ошибку, если попытаться открыть файл по несуществующему пути. Признак ошибки можно получить через метод fail:

#include <iostream> #include <fstream> using namespace std; int main() { ofstream file; file.open("/nonexistent/path/test.txt"); if (file.fail()) { cout << "Open failed" << endl; } return 0; }

Результат выполнения кода:

"Open failed"

Смотрите также

  • класс ofstream,
    который используется для записи в файл
  • метод write,
    который записывает блок данных в файл
  • метод flush,
    который сбрасывает буфер потока в файл
  • метод open,
    который открывает файл для записи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить