Heim >Backend-Entwicklung >C++ >Wie simuliere ich ein End-of-File (EOF) im Standard Input Stream (stdin)?

Wie simuliere ich ein End-of-File (EOF) im Standard Input Stream (stdin)?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-29 01:23:02552Durchsuche

How do I simulate an End-of-File (EOF) in the 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn