При включении в программу файла
stdio.h в системе
ОС UNIX выделяется память для
массива структур FILE. Стандартные библиотечные
функции используют структуру
FILE для хранения информации об открытом фале.
Структура FILE — это
структура, в которой хранится информация о том, как открыт файл (например, для чтения), и где позиция следующего чтения или записи. Структура
FILE инициализируется
вызовом функции fopen(). Она используется операционной системой и доступна различным функциям для чтения-записи. Программисту не нужно обращаться прямо к полям этой структуры и даже знать, что это за поля. Программист должен лишь объявить
указатель на
FILE перед открытием файла. Этот указатель получает значение во время открытия файла вызовом функции
fopen() и должен впоследствии передаваться как параметр другим функциям, работающим с данным файлом. Программисту никогда нельзя изменять значение этого указателя. После закрытия файла соответствующая ему переменная файлового указателя на
FILE может использоваться повторно.
/*Образец определения типа FILE*/
typedef struct
{
int _cnt; /*количество оставшихся в буфере символов*/
unsigned char *_ptr; /*следующая позиция в буфере*/
unsigned char *_base; /*размещение буфера*/
unsigned char _flag; /*признак ошибки чтения-записи или конца файла*/
unsigned char _file; /*дескриптор файла ситемы UNIX*/
} FILE;