2012-06-28 271 views

回答

12
if(wcscmp(sDisplayName, L"example") == 0) 
    ; //then it contains "example" 
else 
    ; //it does not 

这并不能掩盖的情况下字符串中sDisplayName开始在中间的“榜样”或具有“榜样”。对于这些情况,您可以使用wcsncmpwcsstr

此外,此检查区分大小写。

如果sDisplayName包含垃圾 - 我也会中断。即不是空终止。

请考虑使用std :: wstring代替。这是C++的方式。

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

if(wcsncmp(sDisplayName, L"Adobe", 5) == 0) 
    //Stars with "Adobe" 

如果你想找到中间

if(wcsstr(sDisplayName, L"Adobe") != 0) 
    //Contains"Adobe" 

注意wcsstr返回非零如果字符串字符串被找到,不像其他的。

+0

这不起作用如果(wcscmp(sDisplayName,L“Adobe”)== 0)sDisplayName = 0x0045e084时L“Adobe AIR” –

+0

请参阅编辑... –

0

wscstr将在sDisplayName中的任意位置找到您的字符串,wsccmp会查看sDisplayName是否恰好是您的字符串。

相关问题