error C2446: == : no conversion from const char * to TCHAR *

Simsons picture Simsons · Nov 17, 2010 · Viewed 11.2k times · Source

I have a TCHAR define below:

 TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");

and I want to comapare as below:

if(szProcessName == "NDSClient.exe")
{
} 

But then I am getting the errors:

error C2446: == : no conversion from const char * to TCHAR *
error C2440: '==' : cannot convert from 'const char [14]' to 'TCHAR [260]'

Answer

Naveen picture Naveen · Nov 17, 2010

"NDSClient.exe" is a const char* string on windows. If you want it to become a const TCHAR* then you need to use the TEXT macro. Also, you can not compare strings using == use a equivalent TCHAR function such as _tcscmp.