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.
-
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.