Heim > Backend-Entwicklung > C++ > Hauptteil

Wie simulieren Sie EOF auf Standardeingabe (stdin)?

DDD
Freigeben: 2024-10-27 23:29:29
Original
704 Leute haben es durchsucht

How Do You Simulate EOF on Standard Input (stdin)?

Bestimmen des EOF des Standardeingabestroms (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:

  • Strg D (UNIX): In UNIX-basierten Systemen signalisiert das Drücken von Strg D das Ende der Datei.
  • Strg Z (Windows): Unter Windows-Betriebssystemen zeigt das Drücken von Strg Z normalerweise das Ende der Eingabe an.

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!