Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 仅提供宽字符串逻辑字符串比较的动机_C++_Api_Winapi_Conventions - Fatal编程技术网

C++ 仅提供宽字符串逻辑字符串比较的动机

C++ 仅提供宽字符串逻辑字符串比较的动机,c++,api,winapi,conventions,C++,Api,Winapi,Conventions,我对此困惑了相当长一段时间,到目前为止,我还没有找到合适的理由 Win32 API提供了一个用于“逻辑字符串比较”的函数,其原型为: StrCmpLogicalW( _In_ PCWSTR psz1, _In_ PCWSTR psz2 ); 然后,此函数将数字用作数字而不是纯文本,从而提供两个字符串的更“逻辑”的比较 但是,Win32 API中的大多数函数似乎都是typedef'd,用于多字节或Unicode字符串,例如SendMessage是一个宏,对于Unicode,它扩展为SendMes

我对此困惑了相当长一段时间,到目前为止,我还没有找到合适的理由

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

StrCmpLogicalW( _In_ PCWSTR psz1, _In_ PCWSTR psz2 );
然后,此函数将数字用作数字而不是纯文本,从而提供两个字符串的更“逻辑”的比较

但是,Win32 API中的大多数函数似乎都是
typedef
'd,用于多字节或Unicode字符串,例如
SendMessage
是一个宏,对于Unicode,它扩展为
SendMessageW
,对于ANSI编码,它扩展为
SendMessageA
(取决于启用的宏开关),那么为什么这个函数只有宽字符串版本呢?我在网上搜索过,但找不到任何解释,所以如果有人能给我启发,我将不胜感激

提前谢谢

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