c++: 'char' und Backslash....

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von xenayoo, 02.09.2005.

  1. xenayoo

    xenayoo Thread Starter MacUser Mitglied

    Beiträge:
    2.110
    Zustimmungen:
    6
    MacUser seit:
    29.02.2004
    Ich arbeite mich gerade in C++ ein. Bei meinen Übungsaufgaben taucht nun folgende Frage auf:

    Warum ist es bei der Eingabe sinvoll den Backslash zu verwenden?

    Nun habe ich gegoogelt und nichts gefunden, und - ja, ich habe auch in c++ Foren mein Glück versucht. Bloß bei c++.de findet sich eh nie was und bei cplusplus-forum.de habe ich derartige Browserprobleme, dass ich ebenfalls nie ein Suchergebnis erhalte. Ich weiß, dass man mit Backslash verschiedene Sonderzeichen einleitet. Das war aber auch schon alles. Gibt es irgend eine besondere Funktion des Backslash im Zusammenhang mit char?
     
  2. MattMacs

    MattMacs MacUser Mitglied

    Beiträge:
    496
    Zustimmungen:
    18
    MacUser seit:
    18.11.2004
    ein bisschen mehr Infos wären nicht schlecht...
    bei welcher Eingabe, ... ?

    greetz,
    MattMacs
     
  3. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser seit:
    21.01.2005
    Hmm... irgendwie scheint mir die Frage nur im Zusammenhang Sinn zu machen. Spontan fällt mir nur ein, dass mit einem Backslash Escape-Sequenzen eingeleitet werden. (Sowas wie \n oder \")
     
  4. xenayoo

    xenayoo Thread Starter MacUser Mitglied

    Beiträge:
    2.110
    Zustimmungen:
    6
    MacUser seit:
    29.02.2004
    Ich würde ja gerne mehr Infos geben, aber mehr als die fett gedruckte Frage steht da net. Kann es sein, dass es da in VC++ eventuell eine Besonderheit gibt. Diese Frage stammt aus einem Fragenkatalog, um mein Wissensstand in C++ zu sondieren (nicht für eine Bewerbung sondern um weiter zu lernen). Jedoch weiß ich, dass der Fragensteller mit VC++ arbeitet. Die Frage wird im Bereich der verschiedenen Variablentypen, deren Attribute sowie deren binäre Verarbeitung gestellt.
     
  5. xenayoo

    xenayoo Thread Starter MacUser Mitglied

    Beiträge:
    2.110
    Zustimmungen:
    6
    MacUser seit:
    29.02.2004
    Ja, das hab ich mir auch gedacht. Aber: Kann man mit ESC-Sequenzen irgendetwas besonderes anfangen?
     
  6. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.042
    Zustimmungen:
    1.317
    MacUser seit:
    13.09.2004
    Ne ganze Menge!

    printf("Hallo Welt\n\r");

    oder eben

    cout << "Hallo Welt\n\r"; // bei der Syntax bin ich mir nicht mehr ganz sicher...

    erzeugt nen Zeilenumbruch ( sowohl Win als auch Mac). Daher werden diese zeichen mit \ maskiert. Ähnliches gilt für Anführungszeichen innerhalb von Strings, bei Druckern kann man noch lustigere Dinge mit ESC-Sequenzen machen. Dafür müssen diese zeichen halt ESCaped werden. Dies geschieht mit \.
    Auch wenn MS vieles anders macht, auf den C++-Standard haben sie m.W. bisher wenig Einfluß. Mehr kann ich zu dem Thema nicht beitragen.
     
  7. Larsen2k4

    Larsen2k4 MacUser Mitglied

    Beiträge:
    2.464
    Zustimmungen:
    186
    MacUser seit:
    19.10.2004
    Unter C++ bietet der Backslash diverse Funktionen - und ist ein wichtiger Bestandteil um Zeichen/Syntax-Fehler zu vermeiden.

    \n erzeugt eine neue Zeile (n = new line). Sprich: Nach dem \n wird der folgende Text in ner neuen Zeile ausgegeben.
    Beispiel:

    cout << "Hallo, dies ist ein Testprogramm.\n Viel Spaß damit.";


    Ergibt:
    Hallo, dies ist ein Testprogramm.
    Viel Spaß damit.


    Vorteil: Man muss nicht jede Zeile neu ansetzen oder mit endl; beenden.
    Nachteil: Wird bei komplexerem Quellcode unübersichtlich ;)

    \" erzeugt z.B. ein Anführungszeichen.
    Vorteil: Will man nun ein Anführungszeichen darstellen und tippt dies einfach in eine cout-Ausgabe ein, so kann es passieren, dass der Compiler den darauffolgenden Text weglässt, weil er denkt, die Funktion sei zu Ende.

    Also ist

    cout << "Peter sagte:\"Hallo du da\" und freute sich.";


    besser als

    cout << "Peter sagte:"Hallo du da" und freute sich.";
     
  8. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser seit:
    21.01.2005
    Das ist ja alle schön und gut, aber bei der Frage geht es um die EINGABE, nicht um die Ausgabe. Da liegt ja der Hund begraben. ;)
     
  9. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.042
    Zustimmungen:
    1.317
    MacUser seit:
    13.09.2004
    @jalapeno: das sind so die kleinen dezenten Hinweise, die man noch einen Moment nachzittern lassen sollte ;) wie Recht Du doch hast! Hab ich glatt überlesen :(
     
  10. grind

    grind MacUser Mitglied

    Beiträge:
    448
    Zustimmungen:
    3
    MacUser seit:
    17.03.2004
    Die Frage, warum es bei der Eingabe sinnvoll ist, den Backslash zu verwenden ist meiner Meinung nach ... :)
    Also ich versteh die nicht, das wollt ich ausdruecken.
    Ich kann mir nur vorstellen, dass der Backslash so eine Art Praefixcode ist, so wie eine Telefonnummer halt.
    Aber ehrlich gesagt, hab ich noch kein Programm geschrieben, dass als Eingabe den Backslash braucht oder aehnliches ? Ihr vielleicht?
    Daher versteh ich die Frage gar nicht!
    grind
     
Die Seite wird geladen...
Ähnliche Themen - c++ 'char' Backslash
  1. GeFa
    Antworten:
    9
    Aufrufe:
    459
    Gondomir
    15.08.2016
  2. Saloice
    Antworten:
    4
    Aufrufe:
    373
    hr47
    06.05.2016
  3. ZoliTeglas
    Antworten:
    5
    Aufrufe:
    314
    mrthomasd
    13.10.2015
  4. RuditheKranich
    Antworten:
    1
    Aufrufe:
    302
    oneOeight
    26.08.2015
  5. borsti007
    Antworten:
    7
    Aufrufe:
    830
    iCode
    15.06.2015