2009-11-24 4 views

ответ

1

Прежде чем пытаться сравнить, я бы преобразовал оба значения в один и тот же тип.

BOOL UnicodeToAnsi(LPWSTR pszwUniString, LPSTR pszAnsiBuff, DWORD dwAnsiBuffSize){ 
int iRet = 0; 
    iRet = WideCharToMultiByte(
    CP_ACP, 
    0, 
    pszwUniString, 
    -1, 
    pszAnsiBuff, 
    dwAnsiBuffSize, 
    NULL, 
    NULL 
    ); 
return (0 != iRet); 

}

BOOL AnsiToUnicode(LPSTR pszAnsiString, LPWSTR pszwUniBuff, DWORD dwUniBuffSize){ 

int iRet = 0; 
    iRet = MultiByteToWideChar(
    CP_ACP, 
    0, 
    pszAnsiString, 
    -1, 
    pszwUniBuff, 
    dwUniBuffSize 
    ); 

return (0 != iRet); 

}

+0

Это приемлемо для преобразования '' CHAR' в TCHAR'. – xtofl

0

Как об использовании lexicographical_compare и функцию как

bool mycomp (TCHAR c1, char c2) 
{ return tolower(c1)<tolower(c2); } 
bool mycomp (char c1, TCHAR c2) 
{ return tolower(c1)<tolower(c2); } 
Смежные вопросы