|
INTEGER*4 trewin n = trewin ( tlu ) |
|||
|---|---|---|---|
|
tlu |
INTEGER*4 |
Input |
Tape logical unit, in range 0 to 7 |
|
n |
INTEGER*4 |
Return value |
n=0: OK n<0: Error |
If the tape is labeled, then the label is skipped over after rewinding.
Example 1: trewin()--typical fragment:
CHARACTER devnam*9 / '/dev/rst0' /
INTEGER*4 n /0/, tlu /1/, tclose, topen, tread, trewin
...
n = trewin( tlu )
IF ( n .LT. 0 ) STOP "trewin: cannot rewind"
WRITE(*, '("trewin ok:", 2I4, 1X, A10)') n, tlu, devnam
...
END
Example 2: trewin()--in a two-record file, try to read three records, rewind, read one record:
CHARACTER devnam*9 / '/dev/rst0' /, onerec*512 / " " /
INTEGER*4 n / 0 /, r, tlu / 1 /, topen, tread, trewin
LOGICAL islabeled / .false. /
n = topen( tlu, devnam, islabeled )
IF ( n .LT. 0 ) STOP "topen: cannot open"
DO r = 1, 3
n = tread( tlu, onerec )
WRITE(*,'(1X, I2, 1X, A4)') r, onerec
END DO
n = trewin( tlu )
IF ( n .LT. 0 ) STOP "trewin: cannot rewind"
WRITE(*, '("trewin ok:" 2I4, 1X, A10)') n, tlu, devnam
n = tread( tlu, onerec )
IF ( n .LT. 0 ) STOP "tread: cannot read after rewind"
WRITE(*,'(A4)') onerec
END
1 abcd 2 wxyz 3 wxyz trewin ok: 0 1 /dev/rst0 abcd