Почему строки журнала отсутствуют без сброса?C++

Программы на C++. Форум разработчиков
Anonymous
Почему строки журнала отсутствуют без сброса?

Сообщение Anonymous »

У меня есть простой класс на C++20, который построчно записывает данные в файл для платформы Windows. Чтобы обеспечить потокобезопасность, я использую статический std::mutex для сериализации операций записи.
Однако я сталкиваюсь с проблемой: если я не вызываю флеш< явно /code> после каждой записи с удержанием блокировки в выходном файле отсутствуют некоторые строки. Когда я вызываю флеш, все строки корректно записываются в файл.
Вот упрощенная версия кода:

Код: Выделить всё

class Logger {
public:
void Log(const std::string& message) {
std::lock_guard lock(mtx_);
log_file_ 

Подробнее здесь: [url]https://stackoverflow.com/questions/79266513/why-are-log-lines-missing-without-a-flush[/url]

Вернуться в «C++»