Почему строки журнала отсутствуют без сброса?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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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