Ну, учитывая, что это Windows, у вас все равно не будет UTF8. Но что именно ты пишешь? Обычно у вас есть std::string
в памяти и вы записываете это на диск. Единственная разница в том, что \n
в памяти переводится в CR / LF (\r\n
) на диске. Это везде один и тот же перевод.
Вы можете столкнуться с ситуацией, когда вы пишете std::wstring
. В этом случае это определяется локалью. По умолчанию используется языковой стандарт C, он же std::locale("C") or
std :: locale :: classic () . The local encoding (which you seem to want) is
std :: locale ("") `.
Существуют другие локали; см здесь