我确定这很简单,但我来自c#背景,字符串很简单,现在我正在进入一个非常难以管理的世界,我很困惑。
基本上我使用EnumDisplayDevices来列出可用的设备,我想针对特定的适配器,所以我需要将DeviceString和DeviceName与一些已知的值进行比较,以查看我是否有合适的适配器来处理。
但我很难过,我将已知值定义为......
wchar_t devName[] = L"Intel(R) HD Graphics Family";
但直接比较不起作用 - if(devName == theDisplay.DeviceName)
strcmp
似乎无法使用广泛的字符,所以我不知道该怎么做,有人知道怎么做吗?
由于
答案 0 :(得分:11)
使用std::wstring
,它有operator==
。
答案 1 :(得分:9)
如果您检查strcmp
的Visual Studio帮助,您会发现它列出了3个比较字符串的函数:strcmp
,wcscmp
和_mbscmp
。您正在寻找的是wcscmp
。
答案 2 :(得分:0)
Windows Shell有一堆用于比较宽字符的字符串函数。试试StrCmpN()。