Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!usenet.ins.cwru.edu!eagle!news From: xxremak@csduts1.lerc.nasa.gov (David A. Remaklus) Newsgroups: comp.lang.fortran Subject: Re: VAX/VMS Fortran: Record length in BYTES Message-ID: <1990Dec17.173038.6222@eagle.lerc.nasa.gov> Date: 17 Dec 90 17:30:38 GMT References: <5125.2767b5c5@cc.curtin.edu.au> Reply-To: xxremak@csduts1.UUCP (David A. Remaklus) Organization: NASA/Lewis Research Center, Cleveland Lines: 26 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. >The file I am creating MUST have a record length of 13730 bytes, and >MUST only contain the data in the buffer i.e. no record length markers >or terminators etc. - it is essentially an image file. >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. >I can use write statements on a 'formatted' file, but the use of code such as > (stuff deleted) If I read your description correctly, it sounds as though you are using fixed length records (this assumes that you ALWAYS right the 13730 bytes). I suggest you try using a fixed length direct access file. I'm not sure how VMS implements this but on all other systems that I have worked with, this method results in fast I/O and the equivant of a byte stream file (ie, no record headers and trailers). -- David A. Remaklus Currently at: NASA Lewis Research Center Amdahl Corporation MS 142-4 (216) 642-1044 Cleveland, Ohio 44135 (216) 433-5119 xxremak@csduts1.lerc.nasa.gov