比较2个wchar_t数组

时间:2011-10-05 13:30:31

标签: c++ string wchar-t

我确定这很简单,但我来自c#背景,字符串很简单,现在我正在进入一个非常难以管理的世界,我很困惑。

基本上我使用EnumDisplayDevices来列出可用的设备,我想针对特定的适配器,所以我需要将DeviceString和DeviceName与一些已知的值进行比较,以查看我是否有合适的适配器来处理。

但我很难过,我将已知值定义为......

wchar_t devName[] = L"Intel(R) HD Graphics Family";

但直接比较不起作用 - if(devName == theDisplay.DeviceName)

strcmp似乎无法使用广泛的字符,所以我不知道该怎么做,有人知道怎么做吗?

由于

3 个答案:

答案 0 :(得分:11)

使用std::wstring,它有operator==

答案 1 :(得分:9)

如果您检查strcmp的Visual Studio帮助,您会发现它列出了3个比较字符串的函数:strcmpwcscmp_mbscmp。您正在寻找的是wcscmp

答案 2 :(得分:0)

Windows Shell有一堆用于比较宽字符的字符串函数。试试StrCmpN()