我想使用C ++来获取显示设备信息,但是cout给了我一些内存地址,如何获取字符串值? 输出如:00CFF4B4:00CFF5F8, 我正在使用Visual Studio 2019
#include <iostream>
#include <windows.h>
int main()
{
DISPLAY_DEVICE d;
d.cb = sizeof(DISPLAY_DEVICE);
int device_num = 0;
while (EnumDisplayDevices(NULL, device_num, &d, 0))
{
std::cout << d.DeviceName << ":" << d.DeviceID<<std::endl;
device_num++;
}
return 0;
}
我假设您使用的是W
版本的DISPLAY_DEVICE
(DISPLAY_DEVICEW
(,我认为这是至少自Visual Studio 2015及更高版本以来的默认设置(编译器定义UNICODE
(。
DISPLAY_DEVICEW
的DeviceName
和DeviceID
成员是WCHAR
(wchar_t
的宏(,因此您需要使用wcout
而不是cout
:
std::wcout << d.DeviceName << ":" << d.DeviceID << std::endl;