text aus stdin einlesen

mr_xyz

Grünschnabel
Hallo,

ist es möglich einen Text aus dem Terminal einzulesen ohne vorher zu wissen wie lang dieser ist?
Wenn ich die Funktion fgets verweden will muss ich ja vorher schon die Größe festlegen?!


LG
 
Hallo,

du kannst doch aber auch mit std::string und std::cin arbeiten. Oder ist reines C vorgesehen?

C++:
std::string text;
std::cin >> text;

Gruß,
Wolf
 
Zuletzt bearbeitet von einem Moderator:
Ich habs bis jetzt immer mit getchar gemacht nach folgendem Schema:

Code:
int inputchar=0;

while((inputchar=getchar())!='\n')
{
  // In einen Buffer schreiben und gegebenfalls mit realloc vergrößern
}
//Hinten eine binäre 0 anhängen

Ich denke mit fread gehts es aber noch eleganter, da nicht Zeichenweise in einen Buffer geschrieben wird.

Kennst du dich mit malloc/realloc/free soweit aus?

LG
 
Was ist mit mehrzeiligen Eingaben, Löschtasten...?

Ich hab auch keine einfache Nur-C-Lösung parat,
wollte nur hinweisen, dass das nicht ganz so trivial ist.
 
Zurück