Aufgabe 2 - zeichenketten mit überlänge

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

aufgabe2 - zeichenketten mit überlänge
aufzuspüren, wann eine zeichenkette zu lang ist, ist ja kein thema.

aber wie sorgt ihr dafür, dass sie ignoriert wird?
fgets liest ja nur eine bestimmte länge ein. bei mir sind das 102 zeichen.
aber alles ab dem 102. zeichen bleibt im puffer und wird beim nächsten schleifendurchlauf durch fgets eingelesen.

Folglich werden die ersten teilstücke ignoriert, die zu lang sind, aber das letzte teilstück, insofern es über 101 zeichen hat, wird eingelesen, als ob es korrekt wäre…

wie handelt ihr das?


ja, das nervt wirklich.
am besten den puffer 1000 zeichen gross machen und wenn jemand mehr als 1000 zeichen eingibt, dann hat er pech gehabt. es geht ja auch um WOERTER, ich kenne kein wocht, das mehr als 1000 zeichen hat :smiley:


Ich hab mir einfach eine eigene Einlesefunktion mit Hilfe von getchar() gebastelt, da hat man dann die volle Kontrolle über alle Zeichen, die man so einliest.


ja, es wäre zumindest ne, idee, was eigenes zu schreiben, was alles, was zuviel ist, direkt nach /dev/null schreibt g


wenn du fest stellst dass eine zeichenkette zu lang ist, lässt du einfach eine schleife laufen die so lange fgets aufruft bis das wort zu ende ist und den inhalt des puffers verwirft…


jou, so hab ichs jetzt auch gemacht, trotzdem danke nochmal!

btw: lob an dich fuer deine uebung! ich finde, du machst das extrem gut und wirkst (fuer meine bisher bescheidenen begriffe) extrem kompetent! weiter so!


ach echt? :finger: thx :o)