Fortran occasionally puts nulls in formatted output

From: Mark Bartelt <sysmark_at_chipmunk.cita.utoronto.ca>
Date: Fri, 14 Jul 95 15:45:22 EDT

The output of the following program has a NULL character in place of one
(and only one!) of the ASCII blanks. Specifically, two blank characters
after the 105th numeric value appear as a NULL followed by a blank.

        real*8 xx(120)
        data xx/120*0.0/
        open(30,file='bozo.snarf',status='unknown')
        write(30,100) (xx(k), k=1,120)
100 format(1p200(1x,1g10.3))
        close(30)
        end

If you do an "od -c bozo.snarf", you see the following at the locaction
where the error occurs:

[ ... ]
0002140 0 0 0 . 0 0 0 E + 0 0 0
0002160 . 0 0 0 E + 0 0 0 . 0 0 0 E
0002200 + 0 0 \0 0 . 0 0 0 E + 0 0
[ ... ] ^^
            This should be a blank.

Fortran 3.5 under OSF/1 V3.2, by the way. Does anyone know whether it's
been fixed in some later release of Fortran?

Mark Bartelt 416/978-5619
Canadian Institute for mark_at_cita.toronto.edu
Theoretical Astrophysics mark_at_cita.utoronto.ca

"Nur eine Waffel taugt!" -- Parsifal, in an Eggo commercial
Received on Fri Jul 14 1995 - 21:55:38 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:45 NZDT