比较2个wchar_t数组

joh*_*ing 6 c++ string wchar-t

我确信这很简单,但是我来自ac #background,字符串很简单,现在我正在进入一个非常难以管理的世界.

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

但我很难过,我把已知的价值定义为......

wchar_t devName[] = L"Intel(R) HD Graphics Family";
Run Code Online (Sandbox Code Playgroud)

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

strcmp 似乎没有广泛的角色,所以我不知道该怎么办,有人知道怎么做这个吗?

谢谢

Pup*_*ppy 11

使用a std::wstring,它有一个operator==.

  • @johnbowring:这是一个 `std::wstring`。正如我之前所说。您可以使用 `if (s1 == s2)` 来比较一对 `std::wstring`,其中 `s1` 和 `s2` 是 `std::wstring`。你很困惑,因为你忙着让 C++ 看起来像 C#,你还没有学到任何关于 C++ 的碎片。C++ 101:使用标准字符串类来满足所有字符串处理需求。 (2认同)

Joe*_*eau 10

如果您检查Visual Studio的帮助strcmp,你会发现它列出了3个功能比较字符串:strcmp,wcscmp_mbscmp.你正在寻找的是wcscmp.