C ++, winapi Сравните две строки WCHAR * - PullRequest
4 голосов
/ 30 августа 2011

Я хочу сравнить две WCHAR* строки.

Как это сделать?

PS Я бы хотел игнорировать регистр при сравнении.

Я знаю, что вы можете использовать strcmpi, но это не работает для WCHAR*.

Ответы [ 4 ]

14 голосов
/ 30 августа 2011

Для сравнения с учетом регистра посмотрите wcscmp

Для сравнения без учета регистра см. _wcsicmp

2 голосов
/ 30 августа 2011

Вы должны использовать WCHAR_t версии strcmp. Вы можете найти определения здесь .

Для сравнения без учета регистра используйте wcscasecmp .

1 голос
/ 30 августа 2011

Рассматривали ли вы использование StrCmpLogicalW ()? В зависимости от ваших потребностей это может быть предпочтительнее, чем wcscmp.

0 голосов
/ 26 мая 2017

В Win32 API есть функция lstrcmpi, которая работает с LPCTSTR вместо const char *.Не знаю, почему он не популярен - я использую его с 1994 года (в основном lstrcmp без «i»).

...