mannaro
@mannaro
Умею профессионально гуглить

Как развернуть кириллическую строку в c++?

Привет! Пытаюсь развернуть строку. Делаю так:

string str("а роза упала на лапу азора");
reverse(str.begin(), str.end());


С латиницей все ок, а вот с кириллицей проблемы. Предполагаю, что это из-за того, что в UTF-8 русские символы занимают 2 байта вместо 1.
  • Вопрос задан
  • 2778 просмотров
Пригласить эксперта
Ответы на вопрос 3
Попробуйте вместо string использовать wsting
Ответ написан
mannaro
@mannaro Автор вопроса
Умею профессионально гуглить
string str = "привет";
string r = "";
	unsigned long size = str.size();

	for(unsigned long i = size; i--;) {
		  r += str[i - 1];
		  r += str[i--];
	}

// r => тевирп


Спасибо AxisPod
Ответ написан
donkaban
@donkaban
Умею рисовать тени
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы