#include <iostream>
#include <iomanip>
constexpr int SIZE=20;
int main()
{
wchar_t input[SIZE+1];
std::wcin >> input;
input[SIZE] = '\0';
wchar_t c;
for(int i=0; i<SIZE; ++i)
{
c=input[i];
std::cout << std::setw(4) << std::hex << +c << ' ';
}
}
С этим кодом, если я введу какие-либо нелатинские символы, я увижу 0 в их позиции. Например, если я ввожу ФФFF, я получаю
0 0 46 46 0 40 0 0 8 0 0 0 c 0 0 0 13a0 d1 0 0
Я использую Windows 10, используя VS C и C ++ 11 в качестве компилятора, и я использую шестнадцатеричный код Юникода. набор символов (кириллицы c букв). Если я жестко закодирую символы и пропущу wcin, я получу
424 424 46 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0