extern (C) function call with const char * type will sometimes generate seg fault or core dump.

Mike Parker via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Oct 16 00:54:47 PDT 2014


On 10/16/2014 12:18 PM, dysmondad wrote:
> Since I've added this call, my program will sometimes but not always
> either generate a core dump or a seg fault. It seems that the issue is
> with the const char * parameter.
>
> I don't have a good grasp of the difference between the way D and C work
> for char * types.

Strings in C are arrays of chars ending with the nul terminator. Strings 
in D are not required to be nul terminated. String literals in D *are* 
nul terminated. When passing a string to a C function that takes const 
char*, use toStringz as Ali showed in his post.


---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com



More information about the Digitalmars-d-learn mailing list