crash D1 compiler
Don
nospam at nospam.com
Sun Feb 1 10:12:35 PST 2009
Simen Kjaeraas wrote:
> On Sun, 01 Feb 2009 13:01:09 +0100, Zorran <zorran at tut.by> wrote:
>
>> This code crash D1 compiler (v1.039)
>>
>> ============
>> import std.stdio;
>>
>> void main()
>> {
>> string ss="sample";
>> printf("%s", cast(char*)(ss+"\0") );
>> }
>> ===========
>
> Indeed it does. Now of course, ss + "\0" makes no sense, but the
> compiler still should not crash.
>
> To correctly concatenate two strings, use the ~ operator. Also, to
> convert a D string to a C string (char *), use toStringz, which
> automagically adds the terminating null. Your program would then look
> like this:
>
> void main() {
> string ss = "sample";
> printf("%s", toStringz(ss));
> }
>
> --
> Simen
I've added this as bug #2637
More information about the Digitalmars-d-bugs
mailing list