Schönen Abend alle zusammen, ich möchte Fragen, ob es möglich ist, in einem String einzelne Zeichen in Hex (oder Dezimal) werten einzugeben? Also quasi so: char_variable = "Sch,0x94,nen Abend"; Hier als Beispiel mit 'ö'. Danke in Voraus. Mit freundlichen Grüßen
Mal angenommen, Du redest von der Angabe von Stringkonstanten in C oder C++, dann prinzipiell ja. char_variable = "Sch\x94nen Abend"; Die Auswertung der hexadezimalen Konstante stoppt am ersten ungültigen Zeichen; char_variable = "Sch\x940nen Abend"; wird daher zu seltsamen Effekten führen, da 0 ein gültiges Zeichen ist, damit wird 0x940 gelesen ... Daher empfiehlt sich folgende Schreibweise: char_variable = "Sch\x94""nen Abend"; Alternativ können auch oktale Zahlen verwendet werden: char_variable = "Sch\0224nen Abend"; Eine Codierung für Dezimalzahlen gibt es allerdings nicht.
char string[] = "Sch\x94nen Abend"; Das Stichwort (zur Suche mit Google= lautet: Escape Sequence Wann immer Du in C irgendetwas spezielles in einem String brauchst, was nicht durch die druckbaren Zeichen im 7-bit ASCII Zeichensatz abgedeckt ist, braucht man eine Escape Sequence. Übrigens kann es sinnvoll sein, den String in 3 Teil-Strings zu zerlegen, da der Parser sonst unter Umständen Teile des nachfolgenden Textes mit in die Hex-Zahl reinnimmt. char string[] = "Sch" "\x94" "nen Abend"; Diese Loesung beruht auf der Verpflichtung des Compilers einzelne String Sequenzen zu einer einzigen String Sequenz zusammenzufassen. Damit ermöglicht sich dann auch Folgendes: #define OE_STRING "\x94" char string[] = "Sch" OE_STRING "nen Abend"; ist n'bischen besser zu lesen als mit den Hex Codes direkt im String.
Hallo Rufus, kbuchegg, danke für eure Hilfe, hat mir sehr geholfen. mfg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.