String?



  • In nem String kannst du einen String drin speichern



  • Hi,

    // Ein string ist eine Zeichenkette mit der Endkennung '\0'. Ein String speichert also zeichen.
    // Bsp:
    #include <string>
    
    using namespace std;
    
    int main()
    {
        string s;
        s="Text01";
    
        return 0;
    }
    // Der String 's' besteht aus 6 Zeichen + '\0' am Ende... also insgesamt 7 Zeichen.
    
    int main()
    {
        char* s="Text02";
    
        return 0;
    }
    // Das ist auch ein String... man bevorzugt aber in C++ die 1. Variante.
    
    int main()
    {
        char s[7] = {'T','e','x','t','0','3','\0'};
    
        return 0;
    }
    // Das ist auch ein String.
    


  • Ein String ist eine Kette von Daten. Meistens versteht man unter einem String eine Zeichenkette wie z.B. "Hallo"... In der STL werden sie in einem std::string gespeichert, in C (und manchmal auch in C++) in einem char-Array... Darüber hinaus gibt es noch diverse String-Klassen wie CString aus den MFC. Diese beschränken sich aber auf die Speicherung von Zeichenketten



  • Du kannst es dir etwa so vorstellen, dass ein String wie ein Haufen chars zusammen ist (darum auch der Name char- Arrays :D) 🙂

    Und falls du auch nicht weißt, was char ist, dann lies halt ein Buch ...



  • mal zum klarstellen

    Original erstellt von void:
    **Hi,

    // Ein string ist eine Zeichenkette mit der Endkennung '\0'. Ein String speichert also zeichen.
    //std::string muss nicht zwingendermaßen mit einem '\0' aufhören, basic_string 
    //speichert nämlich die Länge. ein std::string muss nur beim umwandeln in ein 
    //C-String eine '\0' hinten dran haben, also nur beim aufruf von c_str().
    //nicht umsonst bekommt man beim aufruf von string::data einen string OHNE 0
    //am schluss (hmmh muss das so sein oder ist da auch mit 0 erlaubt?)
    // Bsp:
    #include <string>
    
    using namespace std;
    
    int main()
    {
        string s;
        s="Text01"; //"Text01" ist ein C-Stringliteral mit \0 am Schluss
    //s muss die 0 nicht mitspeichern
    
        return 0;
    }
    // falsch: Der String 's' besteht aus 6 Zeichen + '\0' am Ende... also insgesamt 7 Zeichen.
    
    int main()
    {
        char* s="Text02";
    
    //dieser string 's' besteht aus 7 Zeichen, also 6 + '\0' am Ende
    //außerdem sollte es wohl heißen:
        const char *s = "Text02";
    //Denn jeglicher versuch, s zu ändern, resultiert in undefinierten verhalten
    //und funktioniert meist nicht
    
        return 0;
    }
    // Das ist auch ein String... man bevorzugt aber in C++ die 1. Variante.
    // Nicht umsonst nennt man die zweite variante auch C-String
    

    **

    Wer will darf das letzt auch noch kommentieren
    und das return 0 auch, ich mag nicht mehr 🙂



  • Haarspalterei 😃



  • man muss es den kleinen gleich ganz haargespalten beibringen 😃



  • Ja, dann aber richtig:
    Also, fangen wir auf der ersten Seite im Bjarne Stroustrup Buch an, da steht... 🙄 😃



  • der heißt börni



  • Die so genanten "kleinen" werden mit "börni" nichts anfangen können... aber ich denke, er wird die Geschichte mit dem 'string' jetzt verstanden haben. 🙂


Anmelden zum Antworten