Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!wuarchive!uunet!ogicse!milton!seymour From: seymour@milton.u.washington.edu (Richard Seymour) Newsgroups: comp.lang.fortran Subject: Re: VAX/VMS Fortran: Record length in BYTES Message-ID: <12949@milton.u.washington.edu> Date: 13 Dec 90 21:11:21 GMT References: <5125.2767b5c5@cc.curtin.edu.au> Organization: University of Washington, Seattle Lines: 25 In article <5125.2767b5c5@cc.curtin.edu.au> Gumley_LE@cc.curtin.edu.au (Liam Gumley) writes: >Re: VAX/VMS Fortran > >I have to write a series of data buffers to a file, each of which is >13730 bytes long. Note that this is not a multiple of four. ...some background deleted... >So I cannot use an 'unformatted' type file, as these must have record lengths >which are multiples of longwords - 13730 won't work in VAX/VMS Fortran. ...slow example deleted... >Why doesn't VAX/VMS Fortran let you specify the record lengths in BYTES? it does -- simply specify FORM='FORMATTED' in the OPEN, and the RECL= turns into bytes instead of longwords. this is NOT ansi-standard, but it's been in VMS fortran since v3.5 (at least) for output speed, i recommend: byte array(13730) open(...,access='direct',form='formatted',recl=13730,recordtype='fixed') next=next+1 write(unit'next,1) array 1 format(13730a1) good luck, --dick