Zitat von
OldGrumpy:
Kleines Beispiel: Wenn ich ein japanisches Windows nehme, dann sind da
API-Aufrufe ohne Suffix generell die Wide-Varianten.
Falsch! Der Compiler bzw. die compilierte Exe "erkennt" nicht das es jetzt ein japanisches Windows ist auf dem es läuft. Die Bindung ist immer auf die
Ansi-Version der
API-Funktion/Struktur.
Dort gibt es auch
Ansi und Wide-Versionen. Jedoch ist die
Ansi-Codepage (wie auch auf chinesischen Windows) so das mehrere
Ansi-Characters ein Zeichen darstellen! Damit funktioniert jeder Code nicht mehr korrekt der hart Strings abschneidet oder einzelne Characters aus Strings ändert. Ein String der z.B. 30 1-Byte-Characters beinhaltet ist letztendlich nur 10 (Wide-)Characters lang.
Windows Vista - Eine neue Erfahrung in Fehlern.