Compiler- Malaise bei Umlauten
-
Werte Forumsmitglieder,
auf einem Display sollen auch Umlaute angezeigt werden und da die Codepage von Compiler und Display natürlich nicht übereinstimmen
müssen die Umlaute entsprechend getauscht werden, und zwar (verkürzt) so:
switch (ansi) { case 'ä': code = 0xE1; break; case 'ö': code = 0xEF; break; default: code = ansi; }
Das packt der Compiler leider nicht, er behauptet:
[Error(cpp30.33)] new_line in string
Setze ich 'a' für 'ä' usw. ein, funktioniert das Konstrukt ja, aber das ist es natürlich nicht, was ich gewollt habe
.
Jetzt könnte man auf die Idee kommen, per printf() die Codepage des Compilers auszuspähen und die gewonnenen Zahlenwerte der Umlaute einzusetzen, hat aber zwei Nachteile:
1. Geht die Lesbarkeit verloren.
2. Macht man sich beim Wechsel des Compilers davon abhängig, daß die gleiche Codepage verwendet wird.Fällt jemandem ein Trick ein, wie man das so lösen kann, daß der formale Bezug mit den Umlauten im Programmtext erhalten bleibt?
Danke für's Grübeln!