Cтраница 2
Таким образом, для первой записи указатель позиции файла устанавливается на байт 0 файла. Символическая константа SEEK SET показывает, что указатель позиции файла устанавливается относительно начала файла на величину смещения. На рис. 11.14 показан указатель файла, ссылающийся на структуру FILE в памяти. Указатель позиции файла показывает, что следующий байт, который будет считан или записан, это пятый байт от начала файла. [16]
Если аргумент поиска указан в параметре KEY, позиция файла не определена, а если в параметре KEYGE или KEYGT, позиция файла устанавливается за последней записью файла. [17]
По оператору READ считывается запись, на которую установлена позиция файла. После этого позиция файла перемещается в начало следующей записи. [18]
![]() |
Указатель позиции файла показывает на сдвиг в пять байт от начала файла. [19] |
Байты считываются из файла начиная с места, определенного указателем позиции файла. Функцию fread можно использовать и для чтения нескольких элементов массива с фиксированным размером с помощью указателя на массив, в котором будут храниться элементы, и указанием числа элементов, которые необходимо прочитать. Представленный выше оператор определяет, что должен быть прочитан один элемент. [20]
Тип объекта, способный записывать всю информацию, необходимую для управления потоком, включая индикатор позиции файла, указатель на ассоциированный с ним буфер ( если имеется), индикатор ошибки, в который записывается, были или нет ошибки чтения / записи, и индикатор конца файла, регистрирующий, достигнут ли конец файла. [21]
После присоединения файла к устройству ключом ссылки автоматически становится первый ключ параметра KEYS оператора OPEN и позиция файла устанавливается на первую запись с наименьшим значением ключа ссылки. [22]
Поиск возможен с начала файла, с конца файла и с текущей позиции в файле, определяемой значением указателя позиции файла. [23]
Если аргумент поиска указан в параметре KEY, позиция файла не определена, а если в параметре KEYGE или KEYGT, позиция файла устанавливается за последней записью файла. [24]
Фраза НА ОДНОЙ КАТУШКЕ используется для указания того, что несколько файлов находятся на одной катушке магнитной ленты, и определения, если это необходимо, относительной позиции файла на этой катушке. [25]
По оператору BACKSPACE позиция файла устанавливается в начало первой записи, в которой ключ имеет такое же значение, как и в записи, которая определяла позицию файла до оператора BACKSPACE, Возврат может производиться на одну или несколько записей. Если ключом ссылки является главный или уникальный альтернативный ключ, возврат всегда выполняется на одну запись. В случае неуникального или частичного ключа возможен возврат на несколько записей. По следующему оператору READ последовательного считывания будет читаться запись, на которую установлена позиция файла. [26]
Выполнение оператора ввода-вывода прекращается. Позиция файла не изменяется. [27]
Функция fread считывает в массив, указанный ptr, до nmemb элементов, размер которых указан параметром size, из потока, указываемого stream. Индикатор позиции файла для потока ( если определен) продвигается вперед на количество успешно прочитанных символов. В случае ошибки конечное значение индикатора позиции файла для потока становится неопределенным. Если элемент считан частично, то его значение не определено. [28]
Функция fwrite записывает из массива, указанного ptr, до nmemb элементов, размер которых указан параметром size, в поток, указываемый stream. Индикатор позиции файла для потока ( если определен) продвигается вперед на количество успешно записанных символов. В случае ошибки конечное значение индикатора позиции файла для потока становится неопределенным. Фуш я fwrite возвращает количество упешно записанных элементов, которое может быть меньше, чем nmemb, только в случае ошибки записи. [29]
![]() |
Произвольная запись данных в файл произвольного доступа. [30] |