Почему итерация над строкой, написанной не на английском перерыве?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему итерация над строкой, написанной не на английском перерыве?

Сообщение Anonymous »

Я пытался прикрепить простой алгоритм цифрирования и столкнулся с проблемой: у меня нет возможности использовать строки, написанные на русском языке. Я использую код Visual Studio в Windows 11 Pro.My Professor требует возможности для струн Cypher, написанных на русском языке, поэтому использование строк, написанных на английском языке, не является вариантом. Мне удалось заставить русский язык появиться в консоли, но когда я пытаюсь итерацию по строке, чтобы работать с одной буквой, все ломается. Я пробовал почти все кодирование, которое имело смысл: UTF-8, UTF-16, Cyrillic CP866, Windows 1251, Cyrillic ISO-8859-5 и Cyrillic KOI8-R. Никто из них не помог. Вот два способа, которыми я пытался заставить его работать: < /p>

Код: Выделить всё

#include 
#include 

int main(){
setlocale(LC_ALL, "Russian");
std::string s = "абвг";
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79777268/why-does-iterating-over-a-string-written-not-in-english-break[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»