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