1

我一直在困惑这个问题,但到目前为止我还没有找到合适的理由。

Win32 API 提供了一个用于“逻辑字符串比较”的函数,其原型为:

StrCmpLogicalW( _In_ PCWSTR psz1, _In_ PCWSTR psz2 );

然后,此函数将数字用作数字而不是纯文本,从而提供两个字符串的更“合乎逻辑”的比较。

但是,Win32 API 中的大多数函数似乎都可以typedef与多字节或 Unicode 字符串一起使用,例如SendMessage,一个宏扩展SendMessageW为 Unicode 或SendMessageAANSI 编码(取决于启用了哪个宏开关),那么为什么这样做函数只有宽字符串版本?我已经搜索了互联网,但找不到任何可以解释这一点的东西,所以如果有人能启发我,我将不胜感激。

提前致谢!

4

1 回答 1

0

文档说“这个函数的行为,因此它返回的结果,可能会随着版本的变化而变化。它不应该用于规范排序应用程序。” 所以它似乎不适用于一般用途。

于 2013-06-08T16:00:18.767 回答