Verständisfrage zu Escape-seq und string
-
Hallo zusammen,
ich hab da noch mal eine Verständnisfrage,
quellcode
CString a; a="Hallo"; a='Hallo'; a="\Hallo";
So einfach aber ok.
frage 1.
Was ist der Unterschie zwischen '' und "" ?frage 2.
Verständnis
solange ich Escape Sequenzen verwende im context mit Strings etc. wird es als Formatierungsanweisung Interpretiert.wenn ich es allerdings im context von Dateioperationen und ähnliches verwende wird es nicht mehr als Escape Sequenz Interpretiert sondern als Contextabhängige Operation.
d.h.
Verwende ich \ im string formatiere ich.
verwende ich \ im string und übergebe es an eine funktion wie CreateDirectory() dann erstellt er mir halt das unterverzeichnis oder was ich auch immer haben will.
Richtig oder Falsch(begründung bitte)mfg
cc
-
Alles falsch. Kauf dir bitte ein Buch über C.
- CString gibts nicht in C
- '...' ist für einzelne Zeichen gedacht. Ein solches Zeichenliteral hat den Typ int, während "..." für Zeichenketten gedacht ist und den Typ Pointer auf char hat.
- \H ist keine erlaubte Escapesequenz. Was genau das bedeutet weiß ich nicht, ich vermute der Compiler behandelt \H wie H. Die Escapesequenzen sind: \a \b \f \n \r \t \v \? \ooo (1..3 Oktalziffern) \xhh (1..2 Hexadezimalziffern) \' \" \\
Escapesequenzen werden nie als Formatierungsanweisungen behandelt. Sie stehen unabhängig vom Kontext für ihre zugeordneten Zeichen (\n z.B. für ein Newline-Zeichen, \0 für das Nullzeichen, \? für das Fragezeichen)
-
hatte ein Brett vor dem kopf.
mit \\ hat sich auch schon erledigt.
ich war habe mir einen Pfad zurückgeben lassen und ihn anzgezeigt jetzt stand da allerdings C:\asdfj ich habe es so verstanden das das der Inhalt des Strings ist eigentlich ist es ja C:\\asdfj.
Und wer lesen kann ist klar im Vorteil.
mfg
cc