Wie lese ich eine beliebig lange Zeile in C?
Ich hätte gerne das Äquivalent (in C) vongetline
in C ++:
std::string s;
getline(std::cin,s); // reads an arbitrarily long line and
// inserts its contents on s
Gibt es eine Möglichkeit, so etwas in C zu tun? Ich suche nach etwas, das so aussieht:
char* s;
getline(stdin,s); // allocates the space necessary to fit the read
// line and make s point to it
BEARBEITEN: Ich habe mich für POSIX entschiedengetline
funktioniere am ende da ich auf linux bin (laufeman getline
wenn Sie nicht wissen, wovon ich spreche), aber Michael Burr lieferte eine Implementierung vongetline
welches arbeitet auf anderen Betriebssystemen in denengetline
ist standardmäßig nicht verfügbar. Auch wenn seine Implementierung nicht die effizienteste ist, die man sich vorstellen kann, macht sie die Arbeit so, wie ich will, und ich habe sie als Antwort auf meine Frage markiert.