comp.lang.ada
 help / color / mirror / Atom feed
From: Des Walker <des.walker@amsjv.com>
Subject: Re: Variable length string
Date: Mon, 13 Aug 2001 11:40:47 +0100
Date: 2001-08-13T11:40:47+01:00	[thread overview]
Message-ID: <3B77AEAF.72F868DC@amsjv.com> (raw)
In-Reply-To: 9l82gv$j83$1@news.mch.sbs.de

Shitij wrote:
> 
> Hi,
> Iam new to ADA.I just wanted to know how do you define a variable length
> string.I have declared a string array of length say a size of 20.But if I
> use get and pass this string as an arguement,then unless and until I fill
> this with exactly 20 characters my program is not working.How to overcome
> this?
> Iam using the below structure
> 
> type list;
>  type pList is access list;
>  type list is
> record
>    data:integer;
>    str:string(1 .. 20);
>    next:pList:=NULL;
>   end record;

Hi,

I think the Text_Io Get procedure attempts to get as many characters as
the length of the supplied string and this can include multiple line
feed characters.

If you expect to input a single line of text you could use the Get_Line
procedure. This returns the index in the string of the last character
read, and you could store this information in your record so that you
could always access the appropriate slice of your string.

Alternatively, you could try using unbounded strings, they're a little
weightier on performance compared to standard strings, but keep track of
the length for you. An example of their use can be found through Section
8 of the Lovelace Tutorial.

http://www.adahome.com/Tutorials/Lovelace/lovelace.html

select the link of 'The master outline of all lessons'

	Regards
	Des Walker



  parent reply	other threads:[~2001-08-13 10:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-13  8:19 Variable length string Shitij
2001-08-13 10:20 ` Petter Fryklund
2001-08-13 10:40 ` Des Walker [this message]
2001-08-13 14:31   ` Des Walker
2001-08-13 15:07     ` Larry Kilgallen
2001-08-13 13:05 ` Larry Kilgallen
2001-08-13 20:04   ` James Rogers
2001-08-14  3:18 ` DuckE
2001-08-15 21:27 ` file13
replies disabled

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