Sterowanie strumieniamiControlling Streams

fopen zwraca adres obiektu typu FILE .fopen returns the address of an object of type FILE. Ten adres jest używany jako stream argument kilku funkcji biblioteki do wykonywania różnych operacji na otwartym pliku.You use this address as the stream argument to several library functions to perform various operations on an open file. W przypadku strumienia bajtów wszystkie dane wejściowe odbywają się tak, jakby każdy znak był odczytywany przez wywołanie fgetc, a wszystkie dane wyjściowe są wykonywane tak, jakby każdy znak został zapisany przez wywołanie fputc.For a byte stream, all input takes place as if each character is read by calling fgetc, and all output takes place as if each character is written by calling fputc. W przypadku strumienia szerokiego wszystkie dane wejściowe są wykonywane tak, jakby każdy znak był odczytywany przez wywołanie fgetwc, a wszystkie dane wyjściowe są wykonywane tak, jakby każdy znak został zapisany przez wywołanie fputwc.For a wide stream, all input takes place as if each character is read by calling fgetwc, and all output takes place as if each character is written by calling fputwc.

Można zamknąć plik, wywołując fclose, po którym adres FILE obiektu jest nieprawidłowy.You can close a file by calling fclose, after which the address of the FILE object is invalid.

FILEObiekt przechowuje stan strumienia, w tym:A FILE object stores the state of a stream, including:

  • Wskaźnik błędu ustawia niezerową przez funkcję, która napotka błąd odczytu lub zapisu.An error indicator set nonzero by a function that encounters a read or write error.

  • Wskaźnik końca pliku ustawił niezerową przez funkcję, która napotka koniec pliku podczas odczytywania.An end-of-file indicator set nonzero by a function that encounters the end of the file while reading.

  • Wskaźnik położenia pliku określa następny bajt w strumieniu do odczytu lub zapisu, jeśli plik może obsługiwać żądania pozycjonowania.A file-position indicator specifies the next byte in the stream to read or write, if the file can support positioning requests.

  • Stan strumienia określa, czy strumień będzie akceptować operacje odczytu i/lub zapisu oraz czy strumień jest niepowiązany, zorientowany na bajtach czy zorientowany na szerokie.A stream state specifies whether the stream will accept reads and/or writes and whether the stream is unbound, byte oriented, or wide oriented.

  • Stan konwersji pamięta stan dowolnego częściowo złożonego lub wygenerowanego uogólnionego znaku wielobajtowego, a także dowolnego stanu przesunięcia sekwencji bajtów w pliku.A conversion state remembers the state of any partly assembled or generated generalized multibyte character, as well as any shift state for the sequence of bytes in the file).

  • Bufor plików określa adres i rozmiar obiektu tablicy, za pomocą którego funkcje biblioteki mogą zwiększyć wydajność operacji odczytu i zapisu w strumieniu.A file buffer specifies the address and size of an array object that library functions can use to improve the performance of read and write operations to the stream.

Nie należy zmieniać żadnej wartości przechowywanej w FILE obiekcie ani w buforze plików określonym do użycia z tym obiektem.Do not alter any value stored in a FILE object or in a file buffer that you specify for use with that object. Nie można skopiować FILE obiektu ani portowo użyć adresu kopiowania jako stream argumentu funkcji biblioteki.You cannot copy a FILE object and portably use the address of the copy as a stream argument to a library function.

Zobacz teżSee also

Pliki i strumienieFiles and Streams