Функция flush
Функция flush принудительно сбрасывает
содержимое буфера выходного потока в
связанное с ним устройство (например, в
консоль или файл). Обычно данные
записываются в буфер и отправляются
порциями для повышения
производительности. Вызов flush
заставляет программу немедленно выполнить
запись, что бывает необходимо при
отладке, выводе важных сообщений или
перед аварийным завершением программы.
Функция не принимает параметров и
возвращает ссылку на поток, для которого
она была вызвана.
Синтаксис
std::flush(stream)
stream << std::flush
Пример
Давайте выведем строку и сразу же сбросим буфер, чтобы данные появились на экране немедленно:
#include <iostream>
using namespace std;
int main()
{
cout << "abcde" << flush;
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте сравним вывод с flush и без
него, а также продемонстрируем сброс
буфера после записи числа:
#include <iostream>
using namespace std;
int main()
{
cout << "12345";
cout << flush;
cout << "abcde" << endl;
return 0;
}
Результат выполнения кода:
"12345abcde"