检查WCHAR是否包含字符串

Ira*_*ili 8 c++ wchar

我有变数 WCHAR sDisplayName[1024];

如何检查是否sDisplayName包含字符串"example"?

Sev*_*yev 15

if(wcscmp(sDisplayName, L"example") == 0)
    ; //then it contains "example"
else
    ; //it does not
Run Code Online (Sandbox Code Playgroud)

这不包括字符串in sDisplayName以"example"开头或中间有"example"的情况.对于这些情况,您可以使用wcsncmpwcsstr.

此检查也区分大小写.

如果sDisplayName包含垃圾,这将会中断- 即不终止null.

请考虑使用std :: wstring.这是C++的方式.

编辑:如果你想匹配字符串的开头:

if(wcsncmp(sDisplayName, L"Adobe", 5) == 0)
    //Stars with "Adobe"
Run Code Online (Sandbox Code Playgroud)

如果你想在中间找到字符串

if(wcsstr(sDisplayName, L"Adobe") != 0)
    //Contains"Adobe"
Run Code Online (Sandbox Code Playgroud)

请注意,如果找到字符串,wcsstr将返回非零值,与其他字符串不同.