From: Jeffrey Carter <spam@spam.com>
Subject: Re: reading a text file into a string
Date: Fri, 16 Jul 2004 01:23:24 GMT
Date: 2004-07-16T01:23:24+00:00 [thread overview]
Message-ID: <g6GJc.4365$Qu5.2229@newsread2.news.pas.earthlink.net> (raw)
In-Reply-To: <40f6bf21@dnews.tpgi.com.au>
zork wrote:
> while not end_of_file ( File ) loop
> Get ( File, c );
> append ( text, c );
> end loop;
This will work. As others have pointed out, Get skips line terminators.
I'll assume you're not interested in them.
A "better" way to do this is to use Get_Line:
Line : String (1 .. Max);
Last : Natural;
...
Read : loop
exit Read when End_Of_File (File);
Get_Line (File => File, Item => Line, Last => Last);
Append (Text, Line (1 .. Last) );
end loop Read;
Get_Line returns when the String (Line) is filled (in which case Last =
Max) or a line terminator is encountered (in which case Last < Max),
whichever comes first; if a line terminator is encountered, it is skipped.
You can also use a function such as PragmARC.Get_Line, which reads an
entire line and skips the line terminator:
Read : loop
exit Read when End_Of_File (File);
Append (Text, PragmARC.Get_Line (File) );
end loop Read;
This is especially convenient if you want to add a special Character to
indicate line terminators:
Append (Text, PragmARC.Get_Line (File) & EOT);
--
Jeff Carter
"The time has come to act, and act fast. I'm leaving."
Blazing Saddles
36
next prev parent reply other threads:[~2004-07-16 1:23 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-15 17:27 reading a text file into a string zork
2004-07-15 17:49 ` Marius Amado Alves
2004-07-15 19:57 ` Nick Roberts
2004-07-15 17:59 ` Marius Amado Alves
2004-07-15 19:18 ` Nick Roberts
2004-07-15 19:18 ` Nick Roberts
2004-07-15 20:02 ` Nick Roberts
2004-07-16 1:23 ` Jeffrey Carter [this message]
2004-07-16 2:20 ` Steve
2004-07-16 2:26 ` Steve
2004-07-16 16:16 ` Jeffrey Carter
2004-07-16 17:45 ` Nick Roberts
2004-07-16 21:19 ` Randy Brukardt
2004-07-17 2:27 ` Robert I. Eachus
2004-07-17 11:31 ` Mats Weber
2004-07-17 15:52 ` Robert I. Eachus
2004-07-17 22:38 ` Jeffrey Carter
2004-07-18 13:44 ` zork
2004-07-19 8:07 ` Dale Stanbrough
2004-07-19 8:58 ` Martin Dowie
2004-07-21 0:17 ` Robert I. Eachus
2004-07-21 21:39 ` Randy Brukardt
2004-07-22 22:34 ` Robert I. Eachus
2004-07-23 0:49 ` Randy Brukardt
2004-07-23 21:56 ` Nick Roberts
2004-07-24 0:34 ` tmoran
2004-07-24 1:16 ` Nick Roberts
2004-07-24 1:42 ` Randy Brukardt
2004-07-24 15:14 ` Nick Roberts
2004-07-26 23:48 ` Randy Brukardt
2004-07-27 12:08 ` Nick Roberts
2004-07-27 23:24 ` Robert I. Eachus
2004-07-29 0:55 ` Randy Brukardt
2004-07-29 0:53 ` Randy Brukardt
2004-07-29 7:25 ` Martin Dowie
2004-07-29 20:08 ` Robert I. Eachus
2004-07-30 0:14 ` tmoran
2004-07-24 2:56 ` Robert I. Eachus
2004-07-19 11:51 ` Ada2005 (was " Peter Hermann
2004-07-19 12:51 ` Dmitry A. Kazakov
2004-07-19 13:01 ` Nick Roberts
2004-07-19 13:35 ` Martin Dowie
2004-07-19 17:22 ` Nick Roberts
2004-07-19 23:50 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox