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

Метод flush

Метод flush класса ofstream принудительно записывает все данные, находящиеся в буфере потока, непосредственно в файл. Обычно данные записываются в файл не сразу, а накапливаются в буфере для повышения производительности. Метод flush позволяет инициировать эту запись вручную, не ожидая заполнения буфера или закрытия файла. Метод не принимает параметров и не возвращает значения.

Синтаксис

ofstream_name.flush();

Пример

Давайте откроем файл, запишем в него строку и сразу же сбросим буфер на диск с помощью метода flush:

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

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

"Data flushed to file."

Пример

Давайте рассмотрим ситуацию, когда метод flush вызывается перед чтением данных из того же файла другим потоком. Это гарантирует, что все записанные данные уже находятся на диске:

#include <iostream> #include <fstream> #include <string> using namespace std; int main() { ofstream out("data.txt"); out << "12345"; out.flush(); out.close(); ifstream in("data.txt"); string res; in >> res; cout << res << endl; in.close(); return 0; }

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

12345

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

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