Fortran Library Reference

trewin: Rewind Tape to Beginning of First Data File

The function is called by:

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

The output is:


1 abcd 
2 wxyz 
3 wxyz 
trewin ok: 0 1 /dev/rst0 
abcd