Share via


Dateien und Streams

Ein Programm kommuniziert mit der Zielumgebung durch Lesen und Schreiben von Dateien. Eine Datei kann Folgendes sein:

  • Ein Dataset, das Sie wiederholt lesen und schreiben können.

  • Ein Datenstrom von Bytes, der von einem Programm (z.B. einer Pipeline) generiert wird.

  • Ein Datenstrom von Bytes, der von einem Peripheriegerät eingeht oder dorthin gesendet wird.

Die beiden letzten Elemente sind interaktive Dateien. Dateien sind in der Regel das wesentliche Mittel, um mit einem Programm zu interagieren. Sie bearbeiten alle diese Arten von Dateien auf die gleiche Weise: durch Aufrufen von Bibliotheksfunktionen. Sie schließen den Standardheader STDIO. H ein, um die meisten dieser Funktionen zu deklarieren.

Bevor Sie viele der Vorgänge für eine Datei ausführen können, muss die Datei geöffnet werden. Beim Öffnen wird einer Datei ein Datenstrom zugeordnet – eine Datenstruktur innerhalb der C-Standardbibliothek, die viele Unterschiede zwischen Dateien verschiedener Art abdeckt. Die Bibliothek verwaltet den Status der einzelnen Datenströme in einem Objekt vom Typ FILE.

Die Zielumgebung öffnet vor dem Programmstart drei Dateien. Sie können eine Datei öffnen, indem Sie die Bibliotheksfunktion fopen_wfopen mit zwei Argumenten aufrufen. (Die fopen Funktion ist veraltet, wird stattdessen verwendet_wfopen_sfopen_s.) Das erste Argument ist ein Dateiname. Das zweite Argument ist eine C-Zeichenfolge, die Folgendes angibt:

  • Ob Sie beabsichtigen, Daten aus der Datei zu lesen, darin zu schreiben oder beides.

  • Unabhängig davon, ob Sie neue Inhalte für die Datei generieren möchten (oder eine Datei erstellen möchten, falls sie noch nicht vorhanden war), oder lassen Sie die vorhandenen Inhalte an Ort und Stelle.

  • Ob das Schreiben in eine Datei vorhandenen Inhalt ändern kann oder nur Bytes am Ende der Datei anhängen sollte.

  • Ob Sie einen Text- oder Binärdatenstrom bearbeiten möchten.

Wenn die Datei erfolgreich geöffnet wird, können Sie bestimmen, ob der Datenstrom byteorientiert (Bytedatenstrom) oder weitenorientiert (weiter Datenstrom) sein soll. Ein Datenstrom ist anfänglich nicht gebunden. Das Aufrufen bestimmter Funktionen für den Datenstrom macht ihn byteorientiert, während bestimmte andere Funktionen ihn weitenorientiert machen. Nach der Einrichtung Standard ein Datenstrom seine Ausrichtung bis zum Schließen durch einen Aufruf fclose oder freopen.

© 1989-2001 von P.J. Plauger und Jim Brodie. Alle Rechte vorbehalten.

Siehe auch

Text- und Binärdatenströme
Byte und breite Datenströme
Steuern von Datenströmen
Streamstatus