const strings (D1.0)

Bill Baxter dnewsgroup at billbaxter.com
Mon Mar 3 01:47:04 PST 2008


Derek Parnell wrote:
> On Mon, 03 Mar 2008 18:27:12 +0900, Bill Baxter wrote:
> 
>> Is this correct behavior?
>>
>> import std.stdio;
>> import std.string;
>>
>> const MM_REAL_STR =       "real";
>> const MM_INT_STR =        "integer";
>>
>> void main()
>> {
>>      writefln(toString(MM_REAL_STR.ptr)); // --> prints "realinteger"
>> }
>>
>> I thought all literal strings were supposed to be zero terminated.
>> That doesn't go for const strings?
> 
> The problem is that these are NOT strings, but fixed length character
> literals, and those beasties don't have trailing zeros.
> 
> Try this instead ...
> 
>  const string MM_REAL_STR =       "real";
>  const string MM_INT_STR =        "integer";
> 

Ooohhh. Great.  That works.  Thanks a lot.

--bb


More information about the Digitalmars-d-learn mailing list