Programm während einer Eingabe mit EOF beenden.



  • Hallo,

    ich habe eine Problem und zwar muss sich mein Programm während einer Benutereingabe mit STRG - D beenden lassen, jedoch komme ich mit meinem Ansatz nicht weiter.
    Hier mein Versuch:

    #include <stdio.h>
    #include <limits.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main()
    {
      char str[3];
    
      while(!feof(stdin))
      {
        fgets(str, 3, stdin);
      }
    
    	return 0;
    
    }
    


  • Auf welchem Betriebssystem?
    Bei Windows wird EOF mit CTRL-Z ausgelöst

    Du kannst erst sinnvoll auf EOF testen, wenn eine Eingabe stattgefunden hat. Also do-while

    Oder du nimmst fgetc .
    Bedenke aber, dass dort der Rückgabewert vom TYp int ist.


Anmelden zum Antworten