【发布时间】:2012-06-30 09:52:24
【问题描述】:
我有变量WCHAR sDisplayName[1024];
如何检查sDisplayName 是否包含字符串“example”?
【问题讨论】:
我有变量WCHAR sDisplayName[1024];
如何检查sDisplayName 是否包含字符串“example”?
【问题讨论】:
if(wcscmp(sDisplayName, L"example") == 0)
; //then it contains "example"
else
; //it does not
这不包括sDisplayName中的字符串以“example”开头或中间有“example”的情况。对于这些情况,您可以使用wcsncmp 和wcsstr。
此检查也区分大小写。
如果sDisplayName 包含垃圾,这也会中断 - i。 e.不是以 null 结尾的。
考虑改用 std::wstring。这就是 C++ 的方式。
编辑:如果你想匹配字符串的开头:
if(wcsncmp(sDisplayName, L"Adobe", 5) == 0)
//Starts with "Adobe"
如果要查找中间的字符串
if(wcsstr(sDisplayName, L"Adobe") != 0)
//Contains "Adobe"
请注意,如果找到字符串,wcsstr 将返回 非零,这与其他字符串不同。
【讨论】:
您可以使用wchar_t variants of standard C functions(即wcsstr)。
【讨论】:
wscstr 将在 sDisplayName 的任何位置找到您的字符串,wsccmp 将查看 sDisplayName 是否正是您的字符串。
【讨论】: