小编vag*_*nka的帖子

如何比较宽字符“ H2O ??????” 和“?2 ???????”

我正在尝试比较一些相似的字符串,例如:

  1. 字符串的比较"H2O??????""?2???????"应返回true

  2. 字符串的比较"?????????""?2???????"应返回true

我将按TCHAR数组获取这些字符串。有什么方法可以比较这些类型的字符串吗?

我尝试通过逐个字符进行比较,但是它不起作用。

#define MAX_STRING 256
bool IsStringsEqual(TCHAR* str1, TCHAR* str2)
{
    if (_tcscmp(str1, str2) == 0)
        return true;
    else
        return false;   
}

int _tmain(int argc, _TCHAR* argv[])
{
    TCHAR original [MAX_STRING];
    ZeroMemory(original, sizeof(TCHAR) * MAX_STRING);
    _stprintf_s(original, TEXT("%s"), _T("?2????????"));

    TCHAR str1[MAX_STRING];
    ZeroMemory(str1, sizeof(TCHAR) * MAX_STRING);
    _stprintf_s(str1, TEXT("%s"), _T("H2O???????"));
    if (IsStringsEqual(original,str1))
        wcout << endl << " Equal";

    TCHAR str2[MAX_STRING];
    ZeroMemory(str2, sizeof(TCHAR) * MAX_STRING);
    _stprintf_s(str2, TEXT("%s"), _T("?2????????"));
    if (IsStringsEqual(original, str2)) …
Run Code Online (Sandbox Code Playgroud)

c++ string unicode winapi

6
推荐指数
1
解决办法
105
查看次数

标签 统计

c++ ×1

string ×1

unicode ×1

winapi ×1