[Lazarus] strcat problem
joshyfun at gmail.com
Fri Jun 24 02:33:27 CEST 2016
El 23/06/2016 a las 21:08, Koenraad Lelong escribió:
> Op 23-06-16 om 16:58 schreef David W Noon:
>>> cTekst:=#13'Now is the winter of our discontent'#13;
>> You need a trailing #0 byte on the end.
> The definition of cTekst :
> cTekst : PChar;
> So the compiler knows cTekst is a 0-terminated string doesn't, it ?
> And StrCat needs two parameters : PChar and PChar. So I think the
> compiler knows the strings are zero-terminated.
> Besides, on my OpenSuse-box it works, or is that by chance ?
Did you allocated the memory for the pchar ? Did you allocated memory
enough in target pchar to hold the large string after the strcat's ?
This code sample is wrong:
The first assigns pchar to a read only memory block at compile time, and
at runtime next bytes (not allocated) are overwritten with "other
string" which will SIGSEGV for sure.
More information about the Lazarus