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-7.2.0/gfortran/FSEEK.html