@Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
|
|
|
08.07.2015, 05:55. Просмотров 1044. Ответов 7
Здравствуйте.
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| wchar_t c;
wchar_t str[5];
c = _getwch(); // считывает символ правильно. Проверял, коды совпадают c unicode:
// а - 1072
// б - 1073
// в - 1074
printf("%lc",c); // некорректно выводит символ, пока не установить setlocale(LC_ALL, "rus")
scanf("%ls",str); // некорректно считывает символы, коды:
// а - 160
// б - 161
// в - 162
// это OEM 866
// а если поставить setlocale(LC_ALL, "rus"), то считывает что-то совсем левое: str[0]==1038, str[1]==1118, str[2]==0
printf("%lc",L'ё'); // некорректно выводит символ, пока не установить setlocale(LC_ALL, "rus")
printf("%ls",L"абв"); // некорректно выводит символы, пока не установить setlocale(LC_ALL, "rus") |
|
Почему так происходит?
Заранее благодарен.
0
|