Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Comparing 2 wchar_t arrays

I'm sure this is sooo simple but I've come from a c# background where strings are easy and now I am making a small trip into the unmanaged world I am very confused.

Essentially I am using EnumDisplayDevices to list the available devices, I want to target a particular adapter so I need to compare DeviceString and DeviceName against some know values to see whether or not I have the right adapter to work on.

But I am stumped, I defined the known value as such...

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

but direct comparison doesn't work - if(devName == theDisplay.DeviceName)

strcmp doesnt seem to work with wide chars so I have no idea what to do, anyone know how to do this please?

Thanks

like image 872
john bowring Avatar asked Oct 05 '11 13:10

john bowring


2 Answers

Use a std::wstring, it has an operator==.

like image 143
Puppy Avatar answered Sep 30 '22 07:09

Puppy


If you check Visual Studio help for strcmp, you'll find it lists 3 functions to compare strings: strcmp, wcscmp and _mbscmp. The one you're looking for is wcscmp.

like image 20
Joel Rondeau Avatar answered Sep 30 '22 07:09

Joel Rondeau