Frage bzgl. Konvertierung, sehr seltsam...
-
Hi,
warum funktioniert folgendes nicht?
TCHAR c = tolower(TEXT('Ä'));
in
c
steht nicht äsondern Ä, bleibt also unverändert.
Ich raff das nicht, schonmal danke für Ratschläge!
-
Wahrscheinlich benutzt die C-Funktion nicht die Betriebssystemfunktionen, sondern irgendeine auf ASCII optimierte Legacy-Bitschieberei.
Benutze stattdessen CharLower.
-
Nur zur weiteren Erklärung, siehe Doku:
http://msdn.microsoft.com/en-us/library/8h19t214(VS.71).aspxEach of these routines converts a given uppercase letter to a lowercase letter if possible and appropriate.
In order for tolower to give the expected results, __isascii and isupper must both return nonzero.Nur zur weiteren Info:
http://msdn.microsoft.com/en-us/library/5wcd48xw(VS.71).aspx__isascii returns a non-zero value if c is an ASCII character (in the range 0x00 – 0x7F). iswascii returns a non-zero value if c is a wide-character representation of an ASCII character. Each of these routines returns 0 if c does not satisfy the test condition.
Dein Zeichen 'Ä' ist kein Ascii Zeichen!