C++ , winapi 比较两个 WCHAR * 字符串
我想比较两个 WCHAR*
字符串。
怎么做呢?
聚苯乙烯 我想在比较时忽略大小写。
我知道您可以使用 strcmpi
但它不适用于 WCHAR*
。
I want to compare two WCHAR*
strings.
How to do it?
P.S.
I would like to ignore case while comparing.
I know you can use strcmpi
but it id not working for WCHAR*
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于区分大小写的比较,请查看
wcscmp
对于不区分大小写的比较,请查看
_wcsicmp
For case sensitive comparison, look at
wcscmp
For case insensitive comparison, look at
_wcsicmp
您必须使用
strcmp
的WCHAR_t
版本。您可以在此处找到定义。对于不区分大小写的比较,请使用 wcscasecmp。
You have to use the
WCHAR_t
versions ofstrcmp
. You can find the definitions here.For case insensitive comparison use wcscasecmp.
您是否考虑过使用 StrCmpLogicalW()?根据您的需要,这可能比 wcscmp 更好。
Have you considered using StrCmpLogicalW()? Depending on your need that might be preferable to wcscmp.
Win32 API中有
lstrcmpi
函数,它与LPCTSTR
而不是const char *
一起使用。不知道为什么它不流行 - 我从 1994 年就开始使用它(主要是lstrcmp
不带“i”)。There is
lstrcmpi
function in Win32 API which works withLPCTSTR
instead ofconst char *
. Don't know why it is not popular - I use it since 1994 (mostlylstrcmp
without "i").