[fpc-pascal] Pchar from constant string

Michael Van Canneyt michael at freepascal.org
Fri Jun 30 11:11:26 CEST 2023

On Fri, 30 Jun 2023, Hairy Pixels via fpc-pascal wrote:

>> On Jun 30, 2023, at 9:03 AM, Hairy Pixels <genericptr at gmail.com> wrote:
>> That's why that worked. Hmm with short strings the null terminator could be truncated when copying right? Something to look out for.
> this is what I meant about truncation. S is no longer null terminated and now the pchar will fail when passed to C libraries right?
> var
>  s: String;
>  p: Pchar;
> begin
> 	s := 'hello';
> 	p := @s;

S will still be null-terminated for ansistrings and shortstrings.

change to

   p:=@s[1]; // and not @s

and it will print TRUE.


More information about the fpc-pascal mailing list