Null Character

Frank Heckenbach frank at
Wed May 30 23:22:34 CEST 2001

Oldham, Adam wrote:

> What is the Null Character to GPC for use in CHARs and STRINGs?  In my
> previopus compiler \00 was used for this.

I think we have discussed this several times already. (You are
subscribed to this list and got the replies, didn't you?)

Again, if another compiler treats '\00' as a NUL character, that's
simply wrong, because in Pascal a string enclosed in '' must treat
every character literally (except ' itself which must be doubled to
get a literal ').

> a : array [1..4] of chars;
> b : array [1..4] of chars;
> c : array [1..4] of chars;
> d : array [1..4] of chars;
> a = '\00\00\00\00';

That's a 12 char string.

> FILLCHAR(b, 4, CHR(0));

That's correct.

> c ='0000';

That's 4 times the ASCII '0' (#48).

> d = '';

That's an empty string which, if assigned to a fixed char array,
gets filled with spaces (according to the standard). Since Pascal
strings are not zero-terminated (as C strings are), no NUL appears

You can do it without FillChar as well:
Chr (0) + Chr (0) + Chr (0) + Chr (0)

Or (non-standard Borland-compatible way):

Or (non-standard GPC extension):
(note the double quotes!)

> Also, with GPC, when
> a new variable is defined, is it automatically zeroed out?

No (even if they sometimes happen to be zeroed, you can't rely on


Frank Heckenbach, frank at,
GPC To-Do list, latest features, fixed bugs:

More information about the Gpc mailing list