falsche eingaben ignorieren bei istream

Beichtpfarrer

Erfahrenes Mitglied
Hoi,
ich bräuchte eine istream-kompatible-Klasse, mit der ich Zahlen usw geprüft einlesen kann.
Wenn also ein Benutzer "-" statt einem Zahlzeichen eingibt, die falsche Eingabe einfach ignoriert wird (und auch nicht auf der Konsole dargestellt).
Schön wären auch noch andere Einstellungsmodi, wie zB Angabe der Zahlenbasis, was ja bei den std-streams nur sehr begrenzt möglich ist, mögliche Einstellung, dass direkt eingelesen wird, nicht erst, wenn Enter gedrückt wird, usw

Das könnte man zwar auch selbst machen, aber wenn es schon so was gibt, braucht man es ja nicht immer neu schreiben...

Mfg
 
Hi,

Ich würde das versuchen über getchar(); einzulesen, dann zu prüfen und bei Richtigkeit zu speichern, wenns falsch ist einfach ein clearscreen und das nochmal so ausgeben wie es vorher da stand...

Also eine istream klasse oder sowas kenne ich leider nicht dafür, sorry.
 
Jo, so ähnlich hätte ich das auch gemacht, nur getch() (bzw ReadConsoleInput) statt getchar() verwendet, welches keine Ausgabe erzeugt und dann erst bei korrekter Eingabe angezeigt, auch wenn das kein std bzw nur WinApi ist...
Nur wäre eine istream-abgeleitete Klasse oder so eben von einigermassen großem Vorteil...
 
Zurück