Heim >Backend-Entwicklung >C++ >Wie simulieren Sie EOF auf Standardeingabe (stdin)?
Bei der Programmierung ist der Standardeingabestrom (stdin) eine häufige Eingabequelle, der Eingaben von der Tastatur des Benutzers liest . Allerdings kann es manchmal schwierig sein, festzustellen, wann der Benutzer mit der Dateneingabe fertig ist und das Ende der Datei (EOF) erreicht hat.
Verfügt stdin über EOF?
Standardmäßig , stdin hat von Natur aus keinen EOF. Das bedeutet, dass ein Programm das Lesen von stdin auf unbestimmte Zeit fortsetzt und auf weitere Eingaben vom Benutzer wartet.
EOF zu stdin hinzufügen
Wenn Sie ein EOF manuell simulieren müssen Auf stdin sind zwei gängige Methoden:
Beispiel:
Das Folgende Code-Snippet verwendet fread zum Lesen aus stdin und prüft mit Strg D auf EOF:
<code class="c">#include <stdio.h> int main() { char buffer[BUFSIZ]; int c; while ((c = fread(buffer, sizeof(char), BUFSIZ, stdin)) > 0) { // Process input... } return 0; }</code>
Wenn der Benutzer Strg D drückt, gibt die Funktion fread() -1 zurück, was das Ende der Datei anzeigt. Dies löst das Ende der while-Schleife aus.
Hinweis:
Es ist wichtig zu beachten, dass die oben beschriebenen EOF-Simulationsmethoden systemabhängig sind und möglicherweise nicht überall konsistent funktionieren alle Plattformen.
Das obige ist der detaillierte Inhalt vonWie simulieren Sie EOF auf Standardeingabe (stdin)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!