Heim >Backend-Entwicklung >C++ >Wie simuliere ich ein End-of-File (EOF) im Standard Input Stream (stdin)?
Ende der Datei (EOF) im Standard-Eingabestream (stdin)
Frage:
Verfügt stdin über eine End-of-File-Markierung? Wenn nicht, kann eines hinzugefügt werden?
Antwort:
EOF in Stdin
Stdin hat natürlich kein EOF Marker. Beim Lesen von stdin (z. B. mit fread oder read) endet die Schleife:
while ((c = read(0, buffer, BUFSIZ)) > 0) { // ... }
nicht, es sei denn, ein EOF wird explizit simuliert.
Simulieren von EOF in Stdin
Drücken Sie in UNIX-Systemen Strg D, um EOF in stdin zu simulieren. Drücken Sie unter Windows Strg Z. Dadurch verhält sich das Programm so, als ob es das Ende einer Eingabedatei erreicht hätte.
Eingabe umleiten
Wenn die Eingabe umgeleitet wird aus einer Datei (z. B. Programm < input.txt) enthält die Datei selbst ein EOF, daher stellt dies kein Problem dar.
Zusätzliche Klarstellung
Standard ohne Die Umleitung kann als eine unendliche Datei betrachtet werden. Das Ende der Eingabe muss manuell durch Simulation von EOF mit Strg D oder Strg Z signalisiert werden.
Das obige ist der detaillierte Inhalt vonWie simuliere ich ein End-of-File (EOF) im Standard Input Stream (stdin)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!