Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Работа с кириллицей


Автор: boobie 11.12.2011, 09:34
У меня 2 массива символов. Первый вводится с клавиатуры.
Если будет написано так:
Код

if (str[i]=='b')
        {
            per[px]='б';
            px++;
        }

то все 'b' заменятся на 'б'.
А если так:
Код

if (str[i]=='б')
        {
            per[px]='b';
            px++;
        }

то ничего не происходит.
Конечно, я вписал в самом начале
setlocale (LC_ALL,"Russian");
Как сделать, чтобы распознавалась кириллица?

П.С. Я немного представляю, как сделать замену, но это долго, плохо работает и очень некрасиво.

Автор: kshyms 11.12.2011, 09:50
Код

CHAR str[i] = "б";

// буфер для получения результата
WCHAR buffer[256];

// преобразование строки в Unicode
MultiByteToWideChar(CP_ACP, 0, str, strlen(str) + 1,
  buffer, sizeof(buffer)/sizeof(WCHAR));

 

http://wm-help.net/books-online/book/59464/59464-13.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)