Strings in C++



  • Dieses Toturial (oder FAQ) schrieb ich, weil ich selber Schwierigkeiten hatte, Strings einzurichten und diese zu bearbeiten. Aber nun zum Thema....

    #include <iostream.h>
    
    int main()
    {
     //Die Initalisierung der Variable*
     char name[20]="none";
    
     cout << "Bitte geben Sie hier ihren Namen ein:";
    
     //Hier kann man einen neuen Wert für die Variable 'name' eingeben*²
     cin.getline(name, 20);
    
     //Die If-Else Abfrage...
     if(!strcmp(name, "daniel")){cout << "Sie habe Daniel eingegeben...." << endl;}
    }
    

    Anmerkungen:

    * 'char' ist der Variabletyp. name ist der Name der Variable. [20] ist dei Größe der Variable. Hier kann die Größe beliebig umgestellt werden, indem man den Wert in der spitzen Klammer verändert. In diesem Beispiel kann in dieser Variable 19 Zeichen gespeichert werden. Das letzte (zwanzigste) Zeichen ist für das Signal, das dem Programm sagt, dass die Zeichenkette Schluss ist, ist fest reserviert. Und zu geuterletzt das '="none"' ist der Wert, der gleich bei der Initaliesierung dort gespeichert wird. Ich würde das gleich speichern, denn es ist sehr kompliziert einer Initaliesierten variable später (außer durch cin eingabe) ein Wert zu geben.

    *²/³ Später mehr...



  • DaniilKharlamov schrieb:

    Hier kann die Größe beliebig umgestellt werden, indem man den Wert in der spitzen Klammer verändert.

    Komentar:
    spitze Klammern = < >
    eckige Klammern = [ ]
    Du meinst hier wohl in den eckigen Klammern.

    DaniilKharlamov schrieb:

    Das letzte (zwanzigste) Zeichen ist für das Signal, das dem Programm sagt, dass die Zeichenkette Schluss ist, ist fest reserviert.

    Das ist auch nur bedingt richtig, nämlich wenn du eine nullterminierte Zeichenkette brauchst.

    Gruß
    Entyl Sa



  • #include <iostream.h> // -> <iostream> ohne .h
    // using namespace std; fehlt
    
    int main()
    {
     //Die Initalisierung der Variable*
     char name[20]="none"; // Warum initialisieren?
    
     cout << "Bitte geben Sie hier ihren Namen ein:";
    
     //Hier kann man einen neuen Wert für die Variable 'name' eingeben*²
     cin.getline(name, 20);
    
     //Die If-Else Abfrage...
     if(!strcmp(name, "daniel")){cout << "Sie habe Daniel eingegeben...." << endl;} // Lüge, es muss "daniel" eingegeben worden sein ;)
    }
    

    * 'char' ist der Variabletyp. name ist der Name der Variable. [20] ist dei Größe der Variable.

    Man sollte vielleicht erwähnen, dass das ein Array ist. Und dass der Typ nicht char, sondern char[20] ist.

    Du willst das hoffentlich nicht veröffentlichen ...


Anmelden zum Antworten