char und wchar_t VS. String


  • Mod

    Das "verarschen" bezieht sich darauf, dass du hier mit einem C-Buch ankommst.



  • Ich habe es mir eben gekauft, da ich dachte, dass alles, was man in C nutzen kann, auch in C++ nutzen kann. Außerdem haben mich die 12 Euro nicht umgebracht.

    Z. B. die Funktion gets kann man sowohl in C als auch in C++ nutzen, habe ich schon ausprobiert.

    Sorry, falls es so angekommen ist, als dass ich euch verarschen wollte. So hätte es WIRLICH NICHT rüberkommen.

    Gruß

    P.S.:

    @ SeppJ ... hast Du eigentlich jetzt meine Entschuldigung angenommen oder nicht?


  • Mod

    gets sollte man weder in C noch in C++ benutzen.



  • silent_max schrieb:

    Sorry, falls es so angekommen ist, als dass ich euch verarschen wollte. So hätte es WIRLICH NICHT rüberkommen.

    Es kommt so rüber weil du seit Monaten die gleichen, totalen Anfängerfragen stellst, deren Antworten alle mehr als offensichtlich sein sollten. Und dass man gets in C++ benutzen kann, heißt noch lange nicht, dass man das auch sollte. (Und wie SeppJ schon richtig angemerkt hat, failt die Funktion auch in C in voller Bandbreite. ;))



  • silent_max schrieb:

    In "C++: Objektorientiertes Programmieren von Anfang an" heißt es wie folgt:

    "3.1.5. Felder und Zeichenketten

    Der Grund, warum in diesem Kapitel Felder und Zeichenkette gemeinsam behandelt werden, ist die Tatsache, dass C++ keinen eigenen Datentyp für Zeichenketten besitzt, sonder statt dessen Felder vom Typ char bzw. wchar_t benutzt."

    Hallo Max,

    das ist schlicht falsch! C++ kennt den Datentyp std::string für Zeichenketten.



  • Werner_logoff schrieb:

    Hallo Max,

    das ist schlicht falsch! C++ kennt den Datentyp std::string für Zeichenketten.

    @Werner_logoff
    Achso... Danke für die einfache und konkrete Antwort.

    @cooky451

    Soll ich mich jetzt dafür entschuldigen, dass ich sowohl in C als auch in C++ kein Überflieger bin?? Leider habe ich bisher die falsche Literatur benutzt...

    @SeppJ

    Warum sollte man weder in C noch in C++ die Funktion gets() benutzen??



  • silent_max schrieb:

    Soll ich mich jetzt dafür entschuldigen, dass ich sowohl in C als auch in C++ kein Überflieger bin??

    Ja. Die Antwort auf deine Frage hättest du auf jeder Referenz finden können.
    Gehört der Typ string zum Standard? http://en.cppreference.com/w/cpp aufrufen, nach string suchen, fertig.



  • silent_max schrieb:

    Warum sollte man weder in C noch in C++ die Funktion gets() benutzen??

    Man kann keine maximale Anzahl der zu lesenden Zeichen definieren, dadurch muss das Ziel-Array unnötig groß gemacht werden damit selbst Monster-Eingaben nicht zu buffer-overflows führen können.
    Insgesamt also verdammt Unsicher.



  • cooky451 schrieb:

    Ja. Die Antwort auf deine Frage hättest du auf jeder Referenz finden können.
    Gehört der Typ string zum Standard? http://en.cppreference.com/w/cpp aufrufen, nach string suchen, fertig.

    Dann entschuldide ich mich bei Dir cooky451, dass ich kein Überflieger bin.

    Ich werde dann absofort mehr dahinter klemmen, Internetseiten wie http://www.cplusplus.com/ zu verwenden.

    Mit insgesamt 4 Büchern, einer guten Internetseite und einem Forum bin ich, so hoffe ich, gut bedient.

    Ich hoffe zudem, dass es hier im Forum Menschen gibt, die bereit sind, Hilfe zur Selbsthilfe geben.

    Gruß



  • Sone schrieb:

    silent_max schrieb:

    Warum sollte man weder in C noch in C++ die Funktion gets() benutzen??

    Man kann keine maximale Anzahl der zu lesenden Zeichen definieren, dadurch muss das Ziel-Array unnötig groß gemacht werden damit selbst Monster-Eingaben nicht zu buffer-overflows führen können.

    und selbst dann können overflows entstehen...


Anmelden zum Antworten