Fortran Library Reference

twrite: Write Next Physical Record to Tape

The function is called by:

INTEGER*4 twrite

n = twrite( tlu, buffer )

tlu

INTEGER*4

Input 

Tape logical unit, in range 0 to 7 

buffer

character

Input 

Must be sized at a multiple of 512 

n

INTEGER*4

Return value 

n>0: OK, and n = the number of bytes written

n=0: End of Tape

n<0: Error

The physical record length is the size of buffer.

Example: twrite()--write a 2-record file:


    CHARACTER devnam*9 / '/dev/rst0' /, rec1*512 / "abcd" /, 
&            rec2*512 / "wxyz" /
    INTEGER*4 n / 0 /, tlu / 1 /, tclose, topen, twrite
    LOGICAL islabeled / .false. /
    n = topen( tlu, devnam, islabeled )
    IF ( n .LT. 0 ) STOP "topen: cannot open"
    n = twrite( tlu, rec1 )
    IF ( n .LT. 0 ) STOP "twrite: cannot write 1"
    n = twrite( tlu, rec2 )
    IF ( n .LT. 0 ) STOP "twrite: cannot write 2"
    WRITE(*, '("twrite ok:", 2I4, 1X, A10)')  n, tlu, devnam
    END

The output is:


twrite ok: 512 1 /dev/rst0