Всем привет!
Как сравнить 2 русских слова без учёта регистра ?
Вот так работает, но только на английских буквах:
:sad:PHP код:
if(!strcmp("pawn","Pawn",true))
{
}
Вид для печати
Всем привет!
Как сравнить 2 русских слова без учёта регистра ?
Вот так работает, но только на английских буквах:
:sad:PHP код:
if(!strcmp("pawn","Pawn",true))
{
}
Под Windows должно работать. А под Linux не работает потому, что используется стандартная tolower функция, которая работает только для латиницы.
Можешь попробовать взять функцию memcmp из этой библиотеки
Нужно вынести из if-блока, ибо будут ошибки:
Нужно убрать скобки.Код:static
str1_len,
str2_len,
pos,
str1_sumbol,
str2_sumbol,
result;
С русскими буквами работает. Кстати, ты не добавил поддержку букв латинского алфавита и упакованных строк.Код:result = strcmp(string1[], string2[], ignorecase, length);
Поддержка латинского алфавита изначально была, а вот потом я почему-то решил, что там она не нужна :pardon:
За остальные замечания тоже спасибо. Нативный strcmp и переменные правил уже на форуме и как-то не углядел, что будут ошибки :(
Как вариант, так:
Но я бы, в идеале, избавился от постоянных проверок, запакована ли строка, но для этого придётся для каждого случая свой цикл создать (ну или может я какой-то другой вариант упускаю)