C++ switch und QChar

Alles rund um die Programmierung mit Qt
Antworten
joebar
Beiträge: 177
Registriert: 3. Oktober 2006 02:04

C++ switch und QChar

Beitrag von joebar »

Hallo,

habe mal eine Frage ob das so elegant ist, oder ob es einen besseren Weg gibt:

Code: Alles auswählen

switch (get_param(line,pos).toAscii()){
 case 'c':
 do_ something;
 break;
 case 'u':
 do_something;
 break;
}
get_param() liefert ein QChar zurueck damit kann die switch Anweisung natuerlich nichts anfangen und der Compiler meckert. Kann ich irgendwie mit dem toAscii() in Probleme laufen? Alle Zeichen die von get_param() geliefert werden koennen sind latin-1 Zeichen.

Danke,
J.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Solange es nur latin1-Zeichen sind, reicht natürlich ein .toLatin1(). Andernfalls sollte man .unicode() verwenden und dann nach den unicode-Werten switchen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
joebar
Beiträge: 177
Registriert: 3. Oktober 2006 02:04

Beitrag von joebar »

Danke. Wie wuerde ich denn mit unicode Zeichen switchen? Muesste ich da irgendwas beachten?

Gruss,
J.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Man müsste dann den ensprechenden Unicode-Wert verwenden anstatt dem Zeichen da der Compiler 'a' wohl nicht in ein ushort wandeln kann. Und Sobald Du 'richtige' Unicode-Zeichen wie z.B. Chinesisch oder so verwnedest, musst du es eh als ushort codieren da es ja nicht als ascii darstellen kannst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten