Есть код:
#include <iostream>
using namespace std;
int main()
{
char a[] = "sыs";
char qwe1_eu = 'c';
char qwe2_ru = 'с';
cout << a << endl;
cout << a[0] << endl;
cout << a[1] << endl;
cout << a[2] << endl;
cout << a[3] << endl;
cout << endl << qwe1_eu << endl;
cout << endl << qwe2_ru << endl;
}
при компиляции возникают два предупреждения:
и при запуске такой вывод:
Первая строчка выводится нормально,
вторая - это cout a[0],
третья и четвертая строчки - это должен быть один символ 'ы', но он разбился на a[1] и a[2], то же самое с седьмой и девятой строчкой, два визуально одинаковых символа, 'с', но на разных языках, латинский выводится нормально, кириллический разбивается на два символа и выводится вопрос (то есть, ошибка кодировки).
Почему такое происходит и можно ли как-то это вылечить?
И если нельзя, то какую альтернативу использовать для записи и проверки русских символов по одной штуке?