Поделиться через


Управление потоками

fopen возвращает адрес объекта типа FILE. Этот адрес используется в качестве аргумента stream в нескольких библиотечных функциях для выполнения различных операций с открытым файлом. Для потока байтов все входные данные происходят так, как если каждый символ считывается путем вызова fgetc. Все выходные данные происходят так, как если каждый символ записывается путем вызова fputc. Для широкого потока все входные данные происходят, как если бы каждый символ считывается путем вызова fgetwc. Все выходные данные происходят так, как если каждый символ записывается путем вызова fputwc.

Вы можете закрыть файл, вызвав fcloseадрес, после которого FILE адрес объекта является недопустимым.

Объект FILE сохраняет состояние потока, в том числе:

  • Индикатор ошибки, установленный в ненулевое значение функцией, обнаружившей ошибку чтения или записи.

  • Индикатор конца файла, установленный в ненулевое значение функцией, встретившей конец файла при чтении.

  • Индикатор позиции файла определяет следующий байт в потоке для чтения или записи, если файл поддерживает запросы размещения.

  • Состояние потока сообщает, доступен ли поток для чтения и (или) записи, а также является ли поток непривязанным, байтовым или расширенным символьным.

  • Состояние преобразования запоминает состояние любого частично собранного или созданного обобщенного многобайтового символа и любого состояния shift для последовательности байтов в файле).

  • Буфер файла задает адрес и размер объекта массива. Функции библиотеки могут использовать его для повышения производительности операций чтения и записи в поток.

Не изменяйте какое-либо значение, хранящееся в объекте FILE или в буфере файлов, которое вы указываете для использования с этим объектом. Невозможно скопировать FILE объект и переносить адрес копии в качестве stream аргумента в функцию библиотеки.

См. также

Файлы и потоки