Freigeben über


Steuern von Streams

fopen gibt die Adresse eines Objekts vom Typ FILEzurück. Sie verwenden diese Adresse als stream-Argument für mehrere Bibliotheksfunktionen, um verschiedene Operationen für eine geöffnete Datei durchzuführen. Bei einem Bytedatenstrom erfolgt jede Eingabe so, als ob jedes Zeichen durch Aufrufen fgetcgelesen wird. Alle Ausgaben erfolgen so, als ob jedes Zeichen durch Aufrufen fputcgeschrieben wird. Bei einem breiten Datenstrom erfolgt jede Eingabe so, als ob jedes Zeichen durch Aufrufen fgetwcgelesen wird. Alle Ausgaben erfolgen so, als ob jedes Zeichen durch Aufrufen fputwcgeschrieben wird.

Sie können eine Datei schließen, indem Sie eine Datei aufrufen fclose, nach der die Adresse des FILE Objekts ungültig ist.

Ein FILE-Objekt speichert den Status eines Streams wie Folgendes:

  • Ein Fehlerindikator, der von einer Funktion auf ungleich Null festgelegt ist und einen Lese- oder Schreibfehler findet.

  • Ein Indikator für das Dateiende, der von einer Funktion auf ungleich Null festgelegt ist und beim Lesen das Ende der Datei erreicht hat.

  • Ein Dateipositionszeiger, der das nächste Byte in dem zu lesenden oder schreibenden Stream angibt, sofern die Datei Positionierungsanforderungen unterstützt.

  • Ein Streamstatus gibt an, ob der Stream Lese- und/oder Schreibvorgänge akzeptiert und ob der Stream ungebunden, byteorientiert oder weit ausgerichtet ist.

  • Ein Konvertierungszustand merkt sich den Zustand eines teilweise zusammengesetzten oder generierten generalisierten Multibyte-Zeichens und eines Schichtzustands für die Abfolge von Bytes in der Datei).

  • Ein Dateipuffer gibt die Adresse und Größe eines Arrayobjekts an. Bibliotheksfunktionen können sie verwenden, um die Leistung von Lese- und Schreibvorgängen in den Datenstrom zu verbessern.

Ändern Sie keinen Wert, der in einem FILE Objekt oder in einem Dateipuffer gespeichert ist, den Sie für die Verwendung mit diesem Objekt angeben. Sie können ein FILE Objekt nicht kopieren und die Adresse der Kopie als Argument in stream eine Bibliotheksfunktion portabel verwenden.

Siehe auch

Dateien und Datenströme