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