2009-11-24 132 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 2009-11-24 12:13:19

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); }