[fpc-pascal] Where is the 'write' function defined and how is it different from 'writeln'?

Sven Barth pascaldragon at googlemail.com
Fri Mar 20 20:34:05 CET 2015


Am 20.03.2015 19:19 schrieb "vfclists ." <vfclists at gmail.com>:
>
>
>
> On 20 March 2015 at 18:01, leledumbo <leledumbo_cool at yahoo.co.id> wrote:
>>
>> > Where is the 'write'  function defined and how is it different from
>> 'writeln'?
>> >
>> > I can see a lot of fpc_writeXXX and other xxxxWrite functions, but no
>> > 'write' itself
>>
>> those fpc_writeXXX ARE the actual write. Write(Ln) is NOT a function as
like
>> others whose implementation you can clearly see. It's rather a command
for
>> the compiler to translate to the correct fpc_writeXXX call. So, if you:
>>
>> WriteLn(123,' is an integer');
>>
>> the compiler will translate it to:
>>
>> fpc_write_text_shortint(123);
>> fpc_write_text_shortstring('is an integer');
>> fpc_writeln_end;
>>
>> The same case applies to Read(Ln). AFAIK Pascal's I/O is part of the
>> language, not the RTL.
>>
>>
>
> Where does the output go? Is it for stdout, strderr  or the console?

It depends.

Write('foobar');

Will write to whatever Textfile is contained in Output and

Write(xyz, 'foobar');

Will write to the xyz Textfile. And these Textfiles can basically be
anything. By default Output simply writes to StdOut (there's also a
variable for StdErr, but I have forgotten how it's called...), but you
could also use an implementation that writes to a TStream or one which uses
sockets. It's quite flexible...

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150320/c4849f36/attachment.html>


More information about the fpc-pascal mailing list