Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Umlaute und Stringkonstanten Kategorie: Programmierung (von Werner - 13.07.2008 14:54)
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo,

habe da was gefunden und auch eine Lösung, aber keine Erklärung.
Vielleicht kann mir irgend wer sagen, warum das so ist.

Hatte ein paar Texte für eine Menüeingabe als Konstanten-Array definiert.
AnschlieÃ?end ausgegeben. Die Umlaute werden dabei als Escape-Sequenzen codiert.
ä = xe1
ö = xef
ü = xf5
Ã? = xe2

Jedoch ist statt einem ü das Yen-Zeichen heraus gekommen (durchgestrichenes Y)
Also habe ein wenig getestet und musste feststellen, dass die Escape-Sequenzen
richtig waren. Jedoch muss ich den String zusammensetzen.

Hier ein paar Zeilen als Quellcode:

const MENU1[] = "0: Zurxf5ck       ", "1: Datum stellen";
const MENU2[] =
  "xe0xe1xe2xe3xe4xe5xe6xe7xe8xe9xeaxebxecxedxeexef",
  "xf0xf1xf2xf3xf4xf5xf6xf7xf8xf9xfaxfbxfcxfdxfexff";
const MENU3[] = "0: Zur" "xf5" "ck       ", "1: Datum stellen";

// Diese Variante zeigt das Yen-Zeichen statt dem ü
lcdext.line(1);
lcdext.print(MENU1[0])
lcdext.line(2);
lcdext.print(MENU1[1])
sleep 5000;

// Diese Variante zeigt viele Sonderzeichen. u.a. das ä, ö, ü und das �
lcdext.line(1);
lcdext.print(MENU2[0])
lcdext.line(2);
lcdext.print(MENU2[1])
sleep 5000;

// Diese Variante zeigt tatsächlich ein Zurück
lcdext.line(1);
lcdext.print(MENU3[0])
lcdext.line(2);
lcdext.print(MENU3[1])
sleep 5000;


Kann mir einer sagen, warum der Compiler in der Variante MENU1 das ü falsch interpretiert
und in den Varianten MENU2 und MENU3 richtig? Ich ging bis dato davon aus, dass ein
Escape-Wert mit x eingeleitet stets ein zweistelligen Hex-Wert erwartet. (Kenn ich so von
anderen Sprachen)

Any Idea?

PS: Tritt auf dem Display der C-Control II Station auf.


    Antwort schreiben


Antworten:

Re: Umlaute und Stringkonstanten (von Icebear - 17.07.2008 16:16)
Re: Umlaute und Stringkonstanten (von André H. - 16.07.2008 14:07)