Изменение 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: я проверилэтот вопрос, но это'спрашивает о том, чтобы пойти другим путем, и принятый ответ кажется довольно неполным.