【问题标题】:C++ , winapi Compare two WCHAR * stringsC++ , winapi 比较两个 WCHAR * 字符串
【发布时间】:2011-11-06 21:46:44
【问题描述】:

我想比较两个WCHAR* 字符串。

怎么做?

附: 我想在比较时忽略大小写

我知道你可以使用strcmpi,但它不适用于WCHAR*

【问题讨论】:

    标签: c++ string winapi wchar


    【解决方案1】:

    要区分大小写比较,请查看wcscmp

    对于不区分大小写的比较,请查看_wcsicmp

    【讨论】:

    • 如何使用它才能忽略大小写?
    • @SoumyajitRoy 我确定有些东西存在,但这个问题被标记为winapi
    【解决方案2】:

    您必须使用strcmpWCHAR_t 版本。你可以找到here的定义。

    对于不区分大小写的比较,请使用wcscasecmp

    【讨论】:

      【解决方案3】:

      您是否考虑过使用 StrCmpLogicalW()?根据您的需要,这可能比 wcscmp 更可取。

      【讨论】:

      • 同样,这是区分大小写的。
      • 不,不是,看看MSDN页面。 :-)
      • 但是,StrCmpLogicalW 会关心字符串中的前缀数字。
      【解决方案4】:

      Win32 API 中有 lstrcmpi 函数,它与 LPCTSTR 一起使用,而不是 const char *。不知道为什么它不受欢迎 - 我从 1994 年开始使用它(主要是 lstrcmp 没有“i”)。

      【讨论】:

        猜你喜欢
        • 2013-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-04
        • 2015-11-13
        • 1970-01-01
        相关资源
        最近更新 更多