comp.lang.ada
 help / color / mirror / Atom feed
From: rdt@liyorkrd.li.co.uk
Subject: Re: Streams - copying stdin to stdout
Date: 1999/02/10
Date: 1999-02-10T00:00:00+00:00	[thread overview]
Message-ID: <79s789$jhm$1@nnrp1.dejanews.com> (raw)
In-Reply-To: osk8xqoek7.fsf@dt022n82.san.rr.com

In article <osk8xqoek7.fsf@dt022n82.san.rr.com>,
  David Brown <dlbrown@acm.org> wrote:
> Stephen Leake <Stephen.Leake@gsfc.nasa.gov> writes:
>
> > "Chris Miller" <chrismil@ozemail.com.au> writes:
> >
> > > To test the operation of Streams I wrote the following sample
> > > program that copies standard input to standard output :
> > >
> > <snip code>
> > >     while not Text_IO.End_Of_File loop
> > <snip more code>
> >
> > > The problem is that the input file has 5 bytes, which are the characters
> > > "test" plus the line feed added by vi, however the output file is only
> > > 4 bytes.
> >
> > I suspect you want Streams_IO.End_Of_File. Text_IO adds semantics
> > about line and page endings, which will get in your way.
>
> Streams_IO.End_Of_File wants a Ada.Stremas.Stream_IO.File_Type
> whereas we have either a Ada.Text_IO.Text_Streams.Stream_Access
> or Ada.Text_IO.File_Type (or File_Access).
>
> The RM doesn't say much about this.  It looks to me like Text_IO's
> End_Of_File would be the one to use, but it doesn't work.

The problem seems to stem from the fact that you are not calling
Text_Io.Close. Sect A10.2(3) of the RM suggests that this is when page/file
terminators are written to text files.

This would be done after the end of the loop before the program terminates.

However, this is not possible with Standard output as you do not have a
variable File_Type.

Regards
Richard Toy

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




      reply	other threads:[~1999-02-10  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-07  0:00 Streams - copying stdin to stdout Chris Miller
1999-02-09  0:00 ` Stephen Leake
1999-02-10  0:00   ` David Brown
1999-02-10  0:00     ` rdt [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox