Подскажите, есть такой код :
BOOL IsUSBDevice(DWORD DevInst)
{
//****
DWORD size;
TCHAR in[256];
PTCHAR pData = in;
BOOL usb = FALSE;
if( CM_Get_Device_ID_Size(&size,DevInst,0) == CR_SUCCESS )
{
if( size )
{
// pData = new BYTE(size+1);
if( pData )
{
if( CM_Get_Device_ID(DevInst,pData,size+1,0) == CR_SUCCESS )
{
*(pData+7) = 0x00;
if( !strcmp((char *)pData,"USBSTOR") )
usb = TRUE;
}
//delete pData;
}
}
}
return usb;
}
что не так почему не выпоняется сравнение(strcmp((char *)pData,"USBSTOR"))?
Сделал табуляцию!!!! — Кодт
Здравствуйте, Konstantinchik, Вы писали:
K>что не так почему не выпоняется сравнение(strcmp((char *)pData,"USBSTOR"))?
Наверное, у тебя проект уникодный, поэтому надо так:
tcscmp(pData,_T("USBSTOR"))
Здравствуйте, LuciferSaratov, Вы писали:
LS>Здравствуйте, Konstantinchik, Вы писали:
K>>что не так почему не выпоняется сравнение(strcmp((char *)pData,"USBSTOR"))?
LS>Наверное, у тебя проект уникодный, поэтому надо так:
LS>LS>tcscmp(pData,_T("USBSTOR"))
LS>
спасибо помогло
Здравствуйте, Кодт, Вы писали:
К>И ведь ясно же, что компилятор надавал по пальцам за несоответствие типов — но... чтоб он подавился, нннна (char*)!
Если б ты знал, сколько раз мне доводилось в студенческих программах видет преобразование к LPWSTR или LPCWSTR обычной строки. Проект юникодный, какой-нибудь функции Win API требуется LPTSTR, который, естественно, есть LPWSTR. Ну и пишут
AnyFunc("Hello");
а получив от компилятора по заслугам, исправляют на
AnyFunc((LPWSTR)"Hello");
а в результате — П.Л., почему не работает
И ведь говорил я им, как правильно!