Изменение std :: endl для выпуска CR + LF вместо LF

я пишу программу на платформе Linux, которая генерирует текстовые файлы, которые неизбежно будут просматриваться на платформе Windows.

Прямо сейчас, прохождениеstd::endl вostream генерирует символ CR только для новых строк. Естественно, эти текстовые файлы выглядят неправильно в MS Notepad.

Есть ли способ изменитьstd::endl такой, что он использует CR + LF для новой строки вместо LF?Я знаю, что мог бы написать свой собственный манипулятор, какwin_endl, для генерации моих новых строк, но я используюstd::endl Символы во многих местах, и, как и многие программисты, имеют тенденцию делать то, что требует как можно меньше работы. Могу ли я просто перегрузитьstd::endl производить CR + LF, или это глупая идея для ремонтопригодности?

NB: я проверилэтот вопрос, но это'спрашивает о том, чтобы пойти другим путем, и принятый ответ кажется довольно неполным.

Ответы на вопрос(5)

Ваш ответ на вопрос