Вы, вероятно, сохранили файл как UTF-8 . в этом случае средний символ будет представлен несколькими байтами, а не одним байтом. Так что если вы напечатаете его с 1 символом в каждой строке, вы увидите несколько странных символов.
Если вы просто удалите std::endl
, вы, вероятно, увидите свою строку. Потому что в этом случае консоль может обрабатывать строку как вывод UTF-8 (я думаю, что Linux консоль просто делает это по умолчанию).
Примечание: Для обработки UTF-8 вы может потребоваться добавить следующее в ваш код:
std::setlocale(LC_ALL, "en_US.UTF-8");