我一直在困惑这个问题,但到目前为止我还没有找到合适的理由。
Win32 API 提供了一个用于“逻辑字符串比较”的函数,其原型为:
StrCmpLogicalW( _In_ PCWSTR psz1, _In_ PCWSTR psz2 );
然后,此函数将数字用作数字而不是纯文本,从而提供两个字符串的更“合乎逻辑”的比较。
但是,Win32 API 中的大多数函数似乎都可以typedef
与多字节或 Unicode 字符串一起使用,例如SendMessage
,一个宏扩展SendMessageW
为 Unicode 或SendMessageA
ANSI 编码(取决于启用了哪个宏开关),那么为什么这样做函数只有宽字符串版本?我已经搜索了互联网,但找不到任何可以解释这一点的东西,所以如果有人能启发我,我将不胜感激。
提前致谢!