C++ , winapi 比较两个 WCHAR * 字符串
Posted
技术标签:
【中文标题】C++ , winapi 比较两个 WCHAR * 字符串【英文标题】:C++ , winapi Compare two WCHAR * strings 【发布时间】:2011-11-06 21:46:44 【问题描述】:我想比较两个WCHAR*
字符串。
怎么做?
附: 我想在比较时忽略大小写。
我知道你可以使用strcmpi
,但它不适用于WCHAR*
。
【问题讨论】:
【参考方案1】:要区分大小写比较,请查看wcscmp
对于不区分大小写的比较,请查看_wcsicmp
【讨论】:
如何使用它才能忽略大小写? @SoumyajitRoy 我确定有些东西存在,但这个问题被标记为winapi
。【参考方案2】:
您必须使用strcmp
的WCHAR_t
版本。你可以找到here的定义。
对于不区分大小写的比较,请使用wcscasecmp。
【讨论】:
【参考方案3】:您是否考虑过使用 StrCmpLogicalW()?根据您的需要,这可能比 wcscmp 更可取。
【讨论】:
同样,这是区分大小写的。 不,不是,看看MSDN页面。 :-) 但是,StrCmpLogicalW
会关心字符串中的前缀数字。【参考方案4】:
Win32 API 中有 lstrcmpi
函数,它与 LPCTSTR
一起使用,而不是 const char *
。不知道为什么它不受欢迎 - 我从 1994 年开始使用它(主要是 lstrcmp
没有“i”)。
【讨论】:
以上是关于C++ , winapi 比较两个 WCHAR * 字符串的主要内容,如果未能解决你的问题,请参考以下文章