Der Martin: (C) Prg mit Enter beenden, aber nur bei neue Zeile

Beitrag lesen

Hallo Markus,

[...] Dann hast du völlig Recht mit den 7 Zeichen!
Irgendwie kann ich nicht gleichzeitig die Länge der Eingabe überprüfen, und dafür sorgen, dass er bei 7 Zeichen abbricht, aber wielöseich das Problem?

Es gibt vielleicht noch elegantere Methoden - aber spontan würde mir folgendes einfallen (teils in Pseudocode formuliert):

while (1)
 { fgets(string, 8, stdin);
   if (erstes Zeichen in string ist '\n')
    { /* Programm/Funktion beenden */
    }
   /* Eingabe verarbeiten */
   while (letztes Zeichen in string ist NICHT '\n')
    { fgets(string, 8, stdin); /* Rest der Zeile lesen und vergessen */
    }
 }

Eine andere Möglichkeit wäre sicher, den Puffer für die Eingabe _sehr_ groß zu dimensionieren, so dass eine realistisch lange Eingabezeile vollständig in einem Aufruf gelesen werden kann, und dann einfach nur die ersten 8 Zeichen davon beachten.
Mehr fällt mir jetzt auch nicht ein, ohne deine Applikation drumherum zu kennen.

Schönen Tag noch,
 Martin

--
"Drogen machen gleichgültig."
 - "Na und? Mir doch egal."