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