From: "Jeffrey R. Carter" <spam.jrcarter.not@nospam.acm.org>
Subject: Re: Howto read line from a stream
Date: Mon, 01 Jun 2009 00:05:29 GMT
Date: 2009-06-01T00:05:29+00:00 [thread overview]
Message-ID: <dXEUl.125959$DP1.74148@attbi_s22> (raw)
In-Reply-To: <1a90e055-44a3-4d00-b4cd-64798c731a55@e24g2000vbe.googlegroups.com>
Tomek Wałkuski wrote:
> I have done so far:
>
> function Read_Line (Channel : in Stream_Access) return String is
> Buffer : String (1 .. 1);
> Result : Unbounded_String;
> begin
> loop
> String'Read (Channel, Buffer);
> Append (Result, Buffer);
> exit when Buffer (1) = ASCII.LF;
> end loop;
> return To_String(Result);
> end Read_Line;
I might do something like
function Get_Line (Channel : in Stream_Access) return String is
Char : Character;
begin -- Get_Line
Character'Read (Channel, Char);
if Char = Ada.Characters.Latin_1.LF then
return String'(1 => Char);
else
return Char & Get_Line (Channel);
end if;
end Get_Line;
This is easily extended if needed to ensure that the terminating LF follows a CR.
--
Jeff Carter
"Have you gone berserk? Can't you see that that man is a ni?"
Blazing Saddles
38
next prev parent reply other threads:[~2009-06-01 0:05 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-31 10:41 Howto read line from a stream Tomek Walkuski
2009-05-31 11:29 ` Tomek Wałkuski
2009-05-31 12:02 ` Dmitry A. Kazakov
2009-05-31 12:56 ` Tomek Wałkuski
2009-05-31 14:30 ` Tomek Wałkuski
2009-05-31 15:13 ` Dmitry A. Kazakov
2009-06-01 23:30 ` Randy Brukardt
2009-06-02 7:30 ` Dmitry A. Kazakov
2009-06-02 9:36 ` Georg Bauhaus
2009-06-02 10:24 ` Dmitry A. Kazakov
2009-06-02 21:15 ` Randy Brukardt
2009-06-01 6:34 ` Pascal Obry
2009-06-01 0:05 ` Jeffrey R. Carter [this message]
2009-06-03 15:49 ` Tomek Wałkuski
2009-06-03 18:04 ` Jeffrey R. Carter
2009-06-03 21:41 ` Maciej Sobczak
2009-06-04 8:56 ` Jean-Pierre Rosen
2009-06-04 9:05 ` Ludovic Brenta
2009-06-04 13:05 ` Maciej Sobczak
2009-06-04 14:16 ` Jean-Pierre Rosen
2009-06-04 19:48 ` Ludovic Brenta
2009-06-04 14:24 ` Dmitry A. Kazakov
2009-06-03 19:07 ` sjw
2009-06-03 19:26 ` Dmitry A. Kazakov
2009-06-03 19:43 ` Georg Bauhaus
2009-06-03 20:11 ` Dmitry A. Kazakov
2009-06-03 22:09 ` Georg Bauhaus
2009-06-04 8:19 ` Dmitry A. Kazakov
2009-06-04 9:41 ` Georg Bauhaus
2009-06-04 10:23 ` Dmitry A. Kazakov
2009-06-04 12:14 ` Georg Bauhaus
2009-06-04 14:54 ` Dmitry A. Kazakov
2009-06-04 16:33 ` Georg Bauhaus
2009-06-05 9:57 ` Dmitry A. Kazakov
2009-06-04 14:16 ` andrew
2009-06-01 19:12 ` björn lundin
2009-05-31 11:34 ` Dmitry A. Kazakov
2009-05-31 15:38 ` sjw
2009-05-31 16:07 ` Dmitry A. Kazakov
2009-05-31 20:39 ` Niklas Holsti
2009-05-31 22:00 ` sjw
2009-06-01 8:35 ` Dmitry A. Kazakov
2009-06-01 23:34 ` Randy Brukardt
2009-06-02 2:27 ` anon
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox