2010-06-01 3 views

ответ

2

Правила преобразования случаев в различные сценарии Unicode являются убийственно сложными, для этого требуются таблицы преобразования больших регистров. Вы не можете это сделать сами, вам понадобится библиотека. ОИТ является одним из них.

1

strcoll должен знать локаль и правильно обрабатывать UTF8, по крайней мере, если это кодировка по умолчанию для локали. Если это не так, я до сих пор не знаю. Как обходной путь, вы можете преобразовать многобайтовую строку в wchars (mbrtowc), а затем использовать wcscasecmp, который, к сожалению, является расширением GNU, а не частью стандартных библиотек ... Не очень полезно.

+0

Является ли strcoll нечувствительным к регистру? Есть ли способ указать максимальное количество символов для сравнения? –

+0

нет, это должно быть как strcmp, с учетом регистраций. – ShinTakezou

 Смежные вопросы

  • Нет связанных вопросов^_^