From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: problems with interfacing c
Date: Thu, 20 Jan 2011 22:31:47 +0100
Date: 2011-01-20T22:31:47+01:00 [thread overview]
Message-ID: <op.vpml29i2ule2fv@garhos> (raw)
In-Reply-To: 13d5wy5ni51xh$.xnhoi3uhm9ql.dlg@40tude.net
Le Thu, 20 Jan 2011 21:56:52 +0100, Dmitry A. Kazakov
<mailbox@dmitry-kazakov.de> a écrit:
> On Thu, 20 Jan 2011 12:21:08 -0800 (PST), Stoik wrote:
>
>> I need your help in finding a proper Ada code to simulate the behaviour
>> of the
>> following lines in C:
>> char *bufor = (char*)malloc(100000);
>> fread(bufor, 1, 100000, stdin);
>
> That depends on what are going to achieve. Translating the above
> literally:
>
> [ with Ada.Text_IO.Text_Streams;
> use Ada.Text_IO, Ada.Text_IO.Text_Streams; ]
>
>
> Buffer : String (1..100_000);
> begin
> String'Read (Stream (Standard_Input), Buffer);
>
> [ Which certainly nobody would do, but you didn't provide any information
> about the actual problem. ]
Some body do, for some kind of raw IO. Just that this may be more oftenly
something like
Character'Read (Standard_Input), C);
in a loop instead (always wondered if there is a more efficient way, I do
not know one), because most of time the buffer size may vary in 1..n (I
suppose it may vary for the OP matter too).
>> I need to do it from inside of the Ada code. I tried to import fread,
>> use the package
>> interfaces.c.strings etc, but in the end I always get the same message:
>> raised PROGRAM_ERROR : EXCEPTION_ACCESS_VIOLATION
>> Any ideas?
>
> You are using C bindings improperly and you need not C bindings in order
> to
> read the standard input.
I feel the same. Strange to use C interface for an fread (however, for
file mapping into memory or other specialized access, this would OK).
--
Si les chats miaulent et font autant de vocalises bizarres, c’est pas pour
les chiens.
“I am fluent in ASCII” [Warren 2010]
next prev parent reply other threads:[~2011-01-20 21:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-20 20:21 problems with interfacing c Stoik
2011-01-20 20:56 ` Dmitry A. Kazakov
2011-01-20 21:31 ` Yannick Duchêne (Hibou57) [this message]
2011-01-20 23:03 ` Dmitry A. Kazakov
2011-01-21 0:46 ` Yannick Duchêne (Hibou57)
2011-01-21 9:33 ` Dmitry A. Kazakov
2011-01-28 0:39 ` Stoik
2011-01-28 5:24 ` Yannick Duchêne (Hibou57)
2011-01-28 9:41 ` Ludovic Brenta
2011-01-28 9:44 ` Dmitry A. Kazakov
2011-01-31 21:46 ` Stoik
2011-01-31 23:06 ` Edward Fish
2011-02-01 8:48 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox