From: fmdf@tiscali.it (fabio de francesco)
Subject: variable lenght strings
Date: 21 Oct 2004 10:52:55 -0700
Date: 2004-10-21T10:52:55-07:00 [thread overview]
Message-ID: <ba2f9c57.0410210952.438515d@posting.google.com> (raw)
Hi,
while studying from "Ada as a 2nd Language" I am having some problem
to cope with Strings (Fixed, Unbounded and Bounded) manipulation and
especially with assigning between different types of them and with
overall with input/output.
1) Is it possible to use Get_Line with Unbounded and/or Bounded
Strings?
2) If not, how should user input be managed when lines length isn't
known a priori?
3) I have to write a program that parses a file in which there are
lines that have to be "tokenized". I didn't find any Find_Token()
usage example on the Book so I wrote a little piece of code in order
to understand the procedure workings on a fixed string (Line A) that
simulates file input.
Think that I am used with C function strtok() and I must say that Ada
Find_Token is much more elegant and not destructive as strtok() is.
Ok, please let me know if the following is the correct usage:
with Ada.Text_IO, Ada.Strings, Ada.Strings.Fixed,
Ada.Strings.Maps, Ada.Strings.Maps.Constants;
use Ada.Text_IO, Ada.Strings, Ada.Strings.Fixed,
Ada.Strings.Maps, Ada.Strings.Maps.Constants;
procedure Tokenize is
S : constant String := ".symbol HP = High_Pressure "; -- Line A
F : Positive := S'First;
L : Natural := S'Last;
W : String( 1..30 );
begin
loop
Find_Token(S(F..L), Alphanumeric_Set or To_Set("_."), Inside, F,
L);
if L /= 0 then
Put_Line( Positive'Image( F ) & ( L - F ) * ' ' &
Natural'Image( L ) );
Move( S( F..L ), W );
Put_Line( ' ' & W );
F := L + 1;
L := S'Last;
else
exit;
end if;
end loop;
end Tokenize;
Is it correct to check the "L" value as a condition to exit the loop?
Thank you in advance for any help,
Fabio De Francesco
next reply other threads:[~2004-10-21 17:52 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-21 17:52 fabio de francesco [this message]
2004-10-21 21:22 ` variable lenght strings Martin Dowie
2004-10-21 22:42 ` Marius Amado Alves
2004-10-21 23:14 ` Matthew Heaney
2004-10-22 7:38 ` Martin Krischik
2004-10-22 12:30 ` fabio de francesco
2004-10-22 7:29 ` Martin Krischik
2004-10-22 13:01 ` Matthew Heaney
2004-10-24 15:46 ` Martin Krischik
2004-10-24 19:54 ` Jeffrey Carter
2004-10-24 21:30 ` Larry Kilgallen
2004-10-25 4:02 ` Jeffrey Carter
2004-10-21 23:01 ` Marius Amado Alves
2004-10-21 23:05 ` Stephen Leake
2004-10-22 7:25 ` Martin Krischik
2004-10-22 11:11 ` Martin Dowie
2004-10-24 15:43 ` Martin Krischik
2004-10-24 17:39 ` Martin Dowie
2004-10-24 18:37 ` Björn Persson
2004-10-25 7:30 ` Martin Krischik
2004-10-26 0:06 ` Randy Brukardt
2004-10-26 1:53 ` Larry Kilgallen
2004-10-26 8:49 ` Martin Krischik
2004-10-26 11:18 ` Marius Amado Alves
2004-10-26 12:48 ` variable length strings Larry Kilgallen
2004-10-26 16:11 ` Warren W. Gay VE3WWG
2004-10-26 18:50 ` Björn Persson
2004-10-26 19:46 ` Larry Kilgallen
2004-10-26 8:43 ` variable lenght strings Jean-Pierre Rosen
2004-10-26 13:15 ` Martin Krischik
2004-10-26 17:37 ` Pascal Obry
2004-10-26 18:07 ` Hyman Rosen
2004-10-26 20:10 ` Pascal Obry
2004-10-27 10:26 ` variable length strings Jacob Sparre Andersen
2004-10-27 10:39 ` Pascal Obry
2004-10-27 11:47 ` Larry Kilgallen
2004-10-28 7:18 ` Jacob Sparre Andersen
2004-10-27 11:50 ` Larry Kilgallen
[not found] ` <uwtxcla1n.fsf@obry.Organization: LJK Software <PTzuwe3GsIg6@eisner.encompasserve.org>
2004-10-27 12:12 ` Samuel Tardieu
2004-10-27 12:58 ` Pascal Obry
2004-10-27 13:04 ` Pascal Obry
2004-10-27 14:54 ` Dmitry A. Kazakov
2004-10-27 16:38 ` Pascal Obry
2004-10-28 8:14 ` Dmitry A. Kazakov
2004-10-28 8:49 ` Pascal Obry
2004-10-28 9:06 ` Dmitry A. Kazakov
2004-10-28 16:07 ` Pascal Obry
2004-10-28 22:05 ` Jeffrey Carter
2004-10-28 22:41 ` Randy Brukardt
2004-10-29 1:11 ` Jeffrey Carter
2004-10-29 7:42 ` Dmitry A. Kazakov
2004-10-28 10:31 ` Larry Kilgallen
2004-10-26 18:13 ` variable lenght strings Martin Krischik
2004-10-27 12:01 ` Jean-Pierre Rosen
2004-10-26 17:46 ` Jeffrey Carter
2004-10-28 22:50 ` Randy Brukardt
2004-10-28 23:01 ` Larry Kilgallen
2004-10-29 21:52 ` Randy Brukardt
2004-10-29 8:48 ` Dale Stanbrough
2004-10-29 9:11 ` Larry Kilgallen
2004-10-24 18:38 ` Why these "Drop" parameters? (was: variable lenght strings) Björn Persson
2004-10-26 0:13 ` Randy Brukardt
2004-11-01 1:02 ` Why these "Drop" parameters? Björn Persson
2004-11-01 19:59 ` Randy Brukardt
2004-10-24 18:57 ` variable lenght strings Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox