Мотивация только для сравнения строковых логических строк

Я долго ломал голову над этим, и до сих пор мне не удалось найти подходящее обоснование.

Win32 API предоставляет функцию для «сравнения логических строк», для которой прототип является:

StrCmpLogicalW( _In_ PCWSTR psz1, _In_ PCWSTR psz2 );

Эта функция затем использует цифры в качестве чисел, а не в виде простого текста и, таким образом, обеспечивает более «логическое» сравнение двух строк.

Тем не менее, большинство функций в Win32 API, кажется, typedefнапример, для использования с многобайтовыми или юникодными строками SendMessage это макрос, который расширяется в SendMessageW для Unicode или SendMessageA для кодировок ANSI (в зависимости от того, какой макропереключатель включен), так почему эта функция имеет только расширенную версию? Я искал в интернете, но не смог найти ничего, что объясняло бы это, поэтому я был бы благодарен, если бы кто-нибудь смог меня просветить.

Заранее спасибо!

1

Решение

В документации сказано: «Поведение этой функции и, следовательно, результаты, которые она возвращает, может изменяться от выпуска к выпуску. Его не следует использовать для приложений канонической сортировки». поэтому он не предназначен для общего пользования.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]