program x_slash
character*60 a
character*1 b, c
open (10, status = "scratch")
write (10, 100)
100 format (1h1,58x,1h!,/,60x,/,59x,1h*,/)
rewind (10)
read (10, 200) a
read (10, 200) a
do i = 1,60
if (ichar(a(i:i)).ne.32) call abort ()
end do
read (10, 200) a
200 format (a60)
do i = 1,59
if (ichar(a(i:i)).ne.32) call abort ()
end do
if (a(60:60).ne."*") call abort ()
rewind (10)
write (10, 101)
101 format (1h1,58x,1h#,/,t38,2x,1h ,tr10,9x,1h$,/,
> 6habcdef,tl4,2x,6hghijkl,t1,59x,1h*)
rewind (10)
read (10, 200) a
read (10, 200) a
do i = 1,59
if (ichar(a(i:i)).ne.32) call abort ()
end do
if (a(60:60).ne."$") call abort ()
read (10, 200) a
if (a(1:10).ne."abcdghijkl") call abort ()
do i = 11,59
if (ichar(a(i:i)).ne.32) call abort ()
end do
if (a(60:60).ne."*") call abort ()
rewind (10)
write (10,102) "#"
write (10,103)
write (10,102) "$"
102 format(59x,a1)
103 format(60x)
rewind (10)
read (10, 200) a
read (10, 200) a
read (10, 200) a
do i = 11,59
if (ichar(a(i:i)).ne.32) call abort ()
end do
if (a(60:60).ne."$") call abort ()
rewind (10)
read (10, 201) b, c
201 format (tr10,49x,a1,/,/,2x,t60,a1)
if ((b.ne."#").or.(c.ne."$")) call abort ()
rewind (10)
read (10, 202) b
202 format (10x,tl10,59x,a1)
read (10, 203)
203 format ()
read (10, 204) c
204 format (10x,t5,55x,a1)
if ((b.ne."#").or.(c.ne."$")) call abort ()
close (10)
open (10, pad = "no", status = "scratch")
b = achar (0)
write (10, 105) 42
105 format (i10,1x,i10)
write (10, 106)
106 format ("============================")
rewind (10)
read (10, 205, iostat = ier) i, b
205 format (i10,a1)
if ((ier.eq.0).or.(ichar(b).ne.0)) call abort ()
end