6

我确信这很简单,但我来自 ac# 背景,字符串很容易,现在我正在进入一个不受管理的世界的小旅行,我很困惑。

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

但我很难过,我这样定义了已知值......

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

但直接比较是行不通的——if(devName == theDisplay.DeviceName)

strcmp似乎不适用于宽字符,所以我不知道该怎么做,有人知道该怎么做吗?

谢谢

4

2 回答 2

11

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

于 2011-10-05T13:31:50.547 回答
11

如果您查看 Visual Studio 帮助strcmp,您会发现它列出了 3 个用于比较字符串的函数strcmpwcscmp_mbscmp. 你要找的是wcscmp.

于 2011-10-05T13:36:55.803 回答