UNICODE



  • hi, wenn ich mit UNICODE kompiliere läuft dieser Code immernoch super,
    aber wie kann das sein, denn TCHAR wird zu wchar_t und dann wird wchar_t mit
    'x'(normales ansi?) verglichen. Aber der Code funktioniert genauso gut mit UNICODE als ohne.

    bool DataCompare(const BYTE *pData, const BYTE *bMask, const TCHAR *szMask)
    {
    	for(; *szMask; ++szMask, ++pData, ++bMask)
    		if(*szMask == 'x' && *pData != *bMask )
    


  • if(*szMask == 'x' && *pData != *bMask )
    

    In dieser Zeile wird 'x' immer als ANSI interpretiert.

    Da Du TCHARs verwendest, nimm bitte den Makro TEXT() oder _TEXT() oder _T() davor:

    if(*szMask == TEXT('x') && *pData != *bMask )
    

    Möchtest Du dagegen 'x' immer als Unicode interpretiert haben, dann stelle ein L davor:

    if(*szMask == L('x') && *pData != *bMask )
    

    Des weiteren setze ich voraus, daß Du unter den #defines sowohl UNICODE als auch _UNICODE definiert hast (bzw. entsprechende Einstellung in Deiner IDE getätigt hast)

    HTH,
    Martin


Anmelden zum Antworten