comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@attbi.com>
Subject: Re: Help needed; Saving access types with sequential_io?
Date: Tue, 25 Feb 2003 03:24:08 GMT
Date: 2003-02-25T03:24:08+00:00	[thread overview]
Message-ID: <slB6a.222789$SD6.11724@sccrnsc03> (raw)
In-Reply-To: 1946b526.0302240619.695b865a@posting.google.com

"khendon" <lundin_isak@hotmail.com> wrote in message
news:1946b526.0302240619.695b865a@posting.google.com...
> Hi all
[snip]
> The only way I can think of is to load the data into temporary string,
> and then add those strings to the record. The problem with this is
> that those temporary strings need to have a defined length, so when I
> add them to the record, they will contain lots of garbage I just don't
> want there. That's the whole point of using access types in the record
> in the first place, to be able to save strings of different lengths
> depending on user input.
>
> If anyone could provide any help I would be most grateful.
>

Two common methods for handling this common problem:
  1. Precede the data in the string with a fixed size number giving the
number of characters in the string.

  Example:
    For a record containing the strings "Three" and "Four" the file would
contain:
  5 'T' 'h' 'r' 'e' 'e' 4 'F' 'o' 'u' 'r'

  2. Include a special character as a string separator (C uses nul).

  Example:
    For a record containing the strings "Three" and "Four" the file would
contain:
  'T' 'h' 'r' 'e' 'e' 0 'F' 'o' 'u' 'r' 0

Personally I prefer the first approach since you don't have to scan each
character while it is being read, and no characters are off limits for being
contained in the string.

If you are not writing a program that is time critical (few programes really
are), I would suggest using Ada.Strings.Unbounded_String instead of handling
your own dynamic allocation and deallocation.

I hope this helps,
Steve
(The Duck)

> Regards, Isak





      parent reply	other threads:[~2003-02-25  3:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-24 14:19 Help needed; Saving access types with sequential_io? khendon
2003-02-24 17:58 ` Rodrigo García
2003-02-25  3:24 ` Steve [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