Ich muss Escape-Sequenzen in nicht-literalen Strings (so dass sie in mehrere Zeichen, die erste \
und die anderen sind nur , r
oder sogar oktal Codes etc.) auf das tatsächliche Zeichen durch dargestellt werden diese Escape-Sequenz.Wie konvertiert man ein Zeichen in die zugehörige Escape-Sequenz?
Mein erster Gedanke war, dass es mit einem Makro möglich wäre (wie #define to_escape(x) '\(x)'
, die nicht funktioniert), aber ich frage mich, ob es tatsächlich einen Weg wie diesen gibt und ob es bessere Möglichkeiten gibt.
Natürlich könnte ich eine einfache switch-Anweisung für Escapes wie \a
, und ähnliche verwenden, aber wie würde ich dann alle oktalen und hexadezimalen Escapezeichen behandeln?
Was ist das "tatsächliche Zeichen", das durch "\ n" dargestellt wird? Oder, um es allgemeiner auszudrücken, was genau wollen Sie das Ergebnis dieser Transformation haben? Bedenke, dass "\ n" ** ein Charakter ist. –
Ich möchte, dass es dasselbe Zeichen ist, das Sie erhalten, wenn Sie diese Sequenz manuell als Zeichenfolge oder Zeichenliteral eingeben, d. H. Eine neue Zeile für '\ n', eine Registerkarte für '\ t' und so weiter. – user6245072
Nochmal: Was willst du bekommen, wenn du '\ n'' siehst? "Newline" zu nennen, beantwortet das nicht. Es ersetzt nur ein tragbares Zeichen durch einen nicht tragbaren Namen. –