große "Texte" in char/string schreiben
-
Hallo,
ich übe gerade etwas mit C bzw C++ (eher c) rum und ich versuche
gerade mehr als zB nur ein Wort in ein Char zuschreiben. Also
ich möchte dort einen ganzen Satz bzw Textabschnit hinein schreiben.zB das in dem Char/String
Hallo wie gehts?
Mir gehts gut.
Das ist ja schön!steht.
ist das irgend wie möglich? Habe da bisher nichts gefunden was
mir so wirklich weiter geholfen hätte.ich bedanke mich schon einmal für Hilfe,
Kiri
-
Naja also char = Zeichen, char-Array = Zeichenkette
Nullterminierung dran und du hast einen String ...\n für neue Zeile ...
char string[] = "Hallo wie gehts?\nMir gehts gut.\nDas ist ja schön!";...
#include <string> std::string string("Hallo wie gehts?\nMir gehts gut.\nDas ist ja schön!");wäre C++

-
ich denke mal, dass er die eingabe von texten über cin meinte...
-
das "sie" meinte^^
nein so was meinte ich schon, aber wie es über "cin" geht
würde mich auch interessieren bzw wie ich ganze Texte aus
einer Datei in eine Variable "laden" kann. In einen Char kann
ich schon ein Wort „laden“, aber wenn ich mehr als ein Wort
rein laden möchte bzw einen Text steht immer nur das erste
Wort drinne.
-
char ist wirklich nur EIN Zeichen. Du meinst Char-Arrays, auch C-Strings genannt. Wichtiger Unterschied.

Mit dem Stream-Operator (>>) von cin bekommst du maximal ein Wort, das stimmt. Wenn du eine ganze Zeile willst, nimm getline().
-
...und wenn Du eine weitere Zeile an einen vorhandenen Text anhängen möchtest, bietet die String-Klasse einen +=-Operator. In C ist das schon schwieriger, da Du Dich um die Längen und den Speicher selbst kümmern musst.
std::string zeile; std::cout << "Geben Sie eine Zeile ein:\n" << std::flush; std::getline(std::cin, zeile); std::string s; s = "Folgendes hat der Benutzer eingegeben:\n"; s += zeile; std::cout << s;