Zuweisungen an char-Arrays (Split aus: "Referenzen")



  • Vielen Dank für eure schnellen Antworten.
    Jetzt mal eine ganz andere Sache in Zusammenhang mit char- Arrays. Ich habe viele Artikel gelesen, wie man
    char-Arrays richtig initialisiert. Jedoch nicht, warum man das so macht. Sprich warum man char-Arrays bei der Definition
    immer gleich mit initialiseren muss. Wenn nach der Definition dem Array etwas zuweisen möchte, dann geht das immer
    nur für ein Zeichen, warum?

    int main()
    {
         char test[100];
         ...Programmcode...
         test = "Das ist ein Test"; // Fehler; error C3863: Der Arraytyp "char [100]" kann nicht zugewiesen werden
         test[0] = 'D'; // fehlerfrei
    
    }
    

    Vielen Dank!!



  • @C-Sepp sagte in Referenzen:

    Wenn nach der Definition dem Array etwas zuweisen möchte, dann geht das immer
    nur für ein Zeichen, warum?

    Weil das in C so festgelegt wurde.

    Für C-Strings (Nullterminierte char-Arrays) gibt es strcpy()

    Bei C++ nimmt man std::string



  • @C-Sepp sagte in Referenzen:

    Jetzt mal eine ganz andere Sache

    Mach bitte pro Thema einen eigenen Beitrag.


  • Mod

    Da ist sehr viel C in deinem C++-Buch. Wo hast du char-Arrays her? Aus deinem Buch? Und das ist kein Kapitel a la "So hat man das früher in C gemacht; sollte man nicht so machen, aber hier ist eine Erklärung falls euch das mal in fremden Code begegnet"? Falls in deinem Buch wirklich nicht std::string als das Mittel für Zeichenketten benutzt wird, dann leg es einfach weg. Wäre nicht schade drum. Quasi all deine vielen Fragen gehen darauf zurück, dass du offenbar C++ als "C mit cout" lernst, anstatt C++. Das ist nicht normal, und sollte nicht so sein.


Log in to reply