Некорректная кодировка символов

162
13 января 2020, 09:30

Есть код:

#include <iostream>
using namespace std;
int main()
{
    cout << int('й') << endl;
    char a = 0;
    cin.get(a);
    cout << int(a) << endl;
}

При передаче в cin.get();,например,символа 'й' выдает разные результаты:

-23
-87

Почему так? И так 'багаются' все символы кириллицы. Догадываюсь,что там что-то с кодировками,но в рамках одной системы кодирование должно быть во всех местах одинаковым,нет разве? И,если не сложно,объясните,как пишутся программы под разные системы? Везде же разные кодировки,и программы,которые завязаны на этом,работая на системе разработчика,не будут работать на другой системе. Я совсем уж не силен в Web,ибо изучаю C++ и это мой первый язык,но если подумать,то там ситуация еще страшнее?Там же нужно передавать данные и.т.д. А как это делать,если кодировки разные?

READ ALSO
Как ввести дробь через cin?

Как ввести дробь через cin?

С помощь scanf я могу ввести дробь таким образом:

168
Перегрузка макроса по числу параметров

Перегрузка макроса по числу параметров

Я хочу написать макрос FOO, так чтобы FOO(x) и FOO(x, y) делали разные вещиКак это сделать?

149
Не работает часть программы &ldquo;банкомат&rdquo; [закрыт]

Не работает часть программы “банкомат” [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»

180
Идея текстового анализатора

Идея текстового анализатора

Есть идея кода, который раскладывает текст на "сущности" с помощью шаблона CompositeДалее с отдельными данными можно как-то работать, а можно вообще...

162