Следующая функция была написана для Java и была адаптирована для C.
bool isFullwidthKatakana(WideChar C)
{
return(('\u30a0'<=C)&&(C<='\u30ff'));
}
Проблема в том, что мой фреймворк ("CodeGear C ++ Builder") показывает эту ошибку:
[Предупреждение BCC32] Unit1.cpp (101): W8114
Персонаж представлен
универсальное имя персонажа '\ u30a0'
не может быть представлен в текущем
кодовая страница (1252)
и он не возвращает истину, если условия выполнены.
Например, один вход - «'» (0x30A2).
Что мне делать? Как я могу изменить кодовую страницу?
Спасибо за три ответа, которые все они решили.
return((0x30a0<=C)&&(C<=0x30ff));
Кажется, что выражение \ u30a0 было неправильным, все это было правильно
return((0x30a0<=C)&&(C<=0x30ff));
return (unsigned int) C >= 0x30a0u && (unsigned int) C <= 0x30ffu;
return((L'\u30a0'<=C)&&(C<=L'\u30ff'));