Wie soll man EOF beim Einlesen von der Konsole behandeln?



  • Wenn man mit getline(cin, str) von der Konsole liest und der Anwender drückt STRG + Z (unter Windows) und Enter dann wird ja das eofbit im Stream gesetzt.
    Was ist das Standardvorgehen in so einer Situation? Sollte man das Programm beenden oder mit cin.clear() das eofbit löschen und die gleiche Eingabe nochmal versuchen? Oder was anderes?


  • Mod

    Man macht genau das gleiche wie bei einer Datei auch. Es sollte das Programm nicht interessieren, woher seine Eingabe letztendlich kommt. Vor allem: Woher willst du wissen, ob cin eine Konsole ist? Es steht ja für die Standardeingabe und die wird von Nutzern regelmäßig umgeleitet.



  • Danke, da hab ich wohl zu speziell gedacht.

    Wenn ich den Ansatz nehmen würde die Eingabe nochmal zu versuchen wenn EOF gesetzt war, krieg ich ja eine Endlosschleife wenn ich eine Datei reinleite.

    Ich glaub ich beende das Programm einfach.


Anmelden zum Antworten