Ende der Datei
Im Computer, Ende der Datei (Eof)[1] ist eine Bedingung in einem Computer Betriebssystem wobei keine Daten mehr aus einer Datenquelle gelesen werden können. Die Datenquelle wird normalerweise als a bezeichnet Datei oder Strom.
Einzelheiten
In dem C Standardbibliothek, die Charakterlesungsfunktionen wie z. Getchar Gibt einen Wert zurück, der dem symbolischen Wert (Makro) entspricht Eof
um anzuzeigen, dass ein Datei am Ende des Datei aufgetreten ist. Der tatsächliche Wert von Eof
ist implementierungsabhängig und muss negativ sein (aber üblicherweise –1, wie in Glibc[2]). Blocklesefunktionen geben die Anzahl der gelesenen Bytes zurück, und wenn dies weniger als gefragt ist, wurde das Ende der Datei erreicht oder ein Fehler aufgetreten (Überprüfung von Überprüfung von Errno
oder dedizierte Funktion, wie z. Futter
ist oft erforderlich, um zu bestimmen, welche).
EOF Charakter
Eingabe von einem Terminal "endet" nie wirklich (es sei denn, das Gerät ist getrennt), aber es ist nützlich, mehr als eine "Datei" in ein Terminal einzugeben, sodass eine Schlüsselsequenz reserviert ist, um das Ende der Eingabe anzuzeigen. Im Unix Die Übersetzung des Tastenanschlags in EOF wird vom Terminal -Treiber durchgeführt, sodass ein Programm keine Terminals von anderen Eingabedateien unterscheiden muss. Standardmäßig konvertiert der Treiber a Kontrolle-d Charakter zu Beginn einer Linie in einen Indikator am Ende des Datei. Um ein tatsächliches Steuerelement-D-Zeichen (ASCII 04) in den Eingabestream einzulegen, geht der Benutzer mit einem Befehlszeichen "Zitat" voraus (normalerweise Kontrolle-V). Amigados ist ähnlich, verwendet aber Kontroll- \ anstelle von Kontroll-D.
Im DOS und Fenster (und in CP/m und viele Dez Betriebssysteme wie die PDP-6 Monitor,[3] RT-11, VMs oder Tops-10[4]), Lesen aus dem Terminal wird niemals einen EOF erzeugen. Stattdessen erkennen Programme erkennen, dass die Quelle ein Terminal (oder ein anderes "Zeichengerät") ist und ein bestimmtes reserviertes Zeichen oder eine bestimmte Sequenz als Indikator für das Datei am Ende des Datei interpretiert. Am häufigsten ist dies ein ASCII Kontrolle-Z, Code 26. Einige MS-DOS-Programme, einschließlich Teile der Microsoft MS-DOS-Shell (Command.com) und Betriebssystem-Dienstprogrammprogramme (wie z. Edlin), behandeln Sie ein Steuerel-Z in einer Textdatei als das Ende sinnvoller Daten und wenden Sie sich beim Schreiben einer Textdatei ein Steuerel-Z an. Dies geschah aus zwei Gründen:
- Rückwärtskompatibilität mit CP/m. Die CP/m Dateisystem (und auch das Original 8-Bit-Fett Implementiert in Microsoft Basic) zeichnete nur die Längen von Dateien in Vielfachen von 128-Byte-Datensätzen auf, sodass ein Steuerelement mit einem Steuerelement verwendet wurde, um das Ende sinnvoller Daten zu markieren, wenn er in der Mitte eines Datensatzes endete. Das FAT12 Dateisystem eingeführt mit 86-dos und MS-DOS hat immer die genaue Byt-Länge von Dateien aufgezeichnet, so dass dies bei DOS nie erforderlich war.
- Es ermöglicht Programmen, den gleichen Code zu verwenden, um Eingaben sowohl von einem Terminal als auch von einer Textdatei zu lesen.
Im ANSI X3.27-1969 Magnetband Standard, das Ende der Datei wurde durch a angezeigt Klebeband Mark, die aus einer Lücke von ungefähr 3,5 Zoll Klebeband bestand, gefolgt von einem einzelnen Byte, das den Charakter 13 (HEX) enthielt Neun-Track-Bänder und 17 (Oktal) für Sieben-Track-Bänder.[5] Das Tape-End-of-Tape, häufig abgekürzt als Eot, wurde durch zwei Klebebandspuren angezeigt. Dies war der verwendete Standard beispielsweise auf IBM 360. Das reflektierender Streifen Das wurde verwendet, um das bevorstehende physikalische Ende des Bandes anzuzeigen Eot Marker.
Siehe auch
Verweise
- ^ Pollock, Wayne. "Shell hier Dokumentübersicht". hccfl.edu. Archiviert von das Original Am 2014-05-29. Abgerufen 2014-05-28.
- ^ "Die GNU C -Bibliothek". www.gnu.org.
- ^ "Tabelle der IO -Geräteeigenschaften - Konsole oder Teletypewriter". PDP-6-Multiprogrammierungssystemhandbuch (PDF). Maynard, Massachusetts, USA: Digital Equipment Corporation (Dez). 1965. p. 43. Dec-6-0-ex-sys-um-ip-pre00. Archiviert (PDF) vom Original am 2014-07-14. Abgerufen 2014-07-10. (1+84+10 Seiten)
- ^ "5.1.1.1. Gerätsabhängige Funktionen - Datenmodi - Full -Duplex -Software A (ASCII) und Al (ASCII -Zeile)". PDP-10-Referenzhandbuch: Kommunikation mit dem Monitor-Zeitteilungsmonitore (PDF). Vol. 3. Digital Equipment Corporation (Dez). 1969. S. 5-3-5-6 [5-5 (431)]. Archiviert (PDF) vom Original am 2011-11-15. Abgerufen 2014-07-10. (207 Seiten)
- ^ "Bandübertragung (vor 1977): Exchange Media: MARC 21 Spezifikationen für Datensatzstruktur, Charaktersätze und Exchange Media (Library of Congress)" ". www.loc.gov.