我已经尝试过 strcmp 和 lstrcmp。我什至试图用 strlen 做到这一点,但也没有用,这就是我所拥有的

void check(LPCSTR lpText)
{
    if( strmp(lpText, "test") == 0)
    {
        MessageBoxW(0, L"equal", 0, 0);
    }
    else
    {
        MessageBoxW(0, L"not equal", 0, 0);
    }
}

无论如何它总是返回 1,如果重要的话,设置中的字符集也被设置为使用多字节字符集。

最佳答案

如果您使用宽字符串,请尝试将其与宽字符串文字进行比较:

if (lstrcmp(lpText, L"test") == 0) {
    // stuff
}

编辑:您似乎使用了错误的字符编码。

关于c++ - 如何比较 LPCSTR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13500691/

10-11 19:15