9.115 FSEEK — Подпрограмма низкоуровневого позиционирования в файле
- Описание:
-
Перемещает UNIT в указанную позицию OFFSET. Если WHENCE установлено в 0, OFFSET интерпретируется как абсолютное значение
SEEK_SET, если установлено в 1, OFFSET интерпретируется как смещение относительно текущей позицииSEEK_CUR, а если установлено в 2 — относительно конца файлаSEEK_END. При ошибке STATUS устанавливается в ненулевое значение. Если STATUS не задано, поиск выполняется без уведомления об ошибке.Эта встроенная процедура не полностью совместима со старыми версиями
g77. Вg77,FSEEKпринимает метку оператора вместо переменной STATUS. Если FSEEK используется в старом коде, заменитеCALL FSEEK(UNIT, OFFSET, WHENCE, *label)
на
INTEGER :: status CALL FSEEK(UNIT, OFFSET, WHENCE, status) IF (status /= 0) GOTO label
Обратите внимание, что GNU Fortran предоставляет средства потокового ввода-вывода Fortran 2003. Программисты должны рассмотреть возможность использования новых функций потокового ввода-вывода в новом коде для будущей переносимости. См. также статус Fortran 2003.
- Стандарт:
-
Расширение GNU
- Класс:
-
Подпрограмма
- Синтаксис:
-
CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS]) - Аргументы:
-
UNIT Должен быть скаляром типа INTEGER.OFFSET Должен быть скаляром типа INTEGER.WHENCE Должен быть скаляром типа INTEGER. Его значение должно быть 0, 1 или 2.STATUS (Необязательно) должен быть скаляром типа INTEGER(4). - Пример:
-
PROGRAM test_fseek INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2 INTEGER :: fd, offset, ierr ierr = 0 offset = 5 fd = 10 OPEN(UNIT=fd, FILE="fseek.test") CALL FSEEK(fd, offset, SEEK_SET, ierr) ! move to OFFSET print *, FTELL(fd), ierr CALL FSEEK(fd, 0, SEEK_END, ierr) ! move to end print *, FTELL(fd), ierr CALL FSEEK(fd, 0, SEEK_SET, ierr) ! move to beginning print *, FTELL(fd), ierr CLOSE(UNIT=fd) END PROGRAM
- См. также:
Далее: FSTAT, Предыдущее: FREE, Наверх: Встроенные процедуры [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/FSEEK.html