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