Есть строка, нужно перевести русские символы в ней на аналогичные английские (А на А, В на В, ... , У на Y и тд - всего 12 символов, которые используются в автомобильных номерах). Проблема в том, что русские символы не распознаются по своему коду, а при попытке получить код символа - код отрицательный. Просто в качестве примера:
int russian_upper_y = 147;
char same_russian_upper_y = 'У';
cout << char(russian_upper_y) << " - получение символа по коду"; //выводит "
cout << int(same_russian_upper_y) << "- получение кода по символу"; //выводит -45
cout << same_russian_upper_y << " - вывод символа"; //выводит У
Далее в чем проблема: Если строку инициализируешь сразу после объявления, то коды символов все равно отрицательные, символ по его реальному коду программа не видит.
string hello = "привет";
cout << int(hello[0]) << endl;
if (hello[0] == 'п') cout << "один" << endl;
if (int(hello[0]) == 175) cout << "два";
if (int(hello[0]) == -17) hello.replace(hello.find('п'), 1, "L");
cout << hello;
Вывод консоли в данном случае выглядит так:
-17
один
Lривет
Если ту же строку ввожу с консоли c помощью getline(), то получаю на выходе:
-81
*а на второй строке рандомный набор символов*
Собственно, вопрос, как сделать так, чтобы можно было беспрепятственно заменить некоторые русские символы на похожие по написанию английские и в чем проблема Visual Studio, выводящего отрицательные коды символов? Как пример того, что нужно сделать: С клавиатуры вводится номер, пусть У345МО. Мне нужно заменить У на Y и М, О на М, О английские и далее уже искать по базe.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
написал прогу по фану на с++ а она почему то не вызывает ошибку 0_0
В разработке приложения я использую vue cli у меня есть такой код