Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Steven Schveighoffer via Digitalmars-d-learn
On Tue, 24 Jun 2014 14:28:58 -0400, Chris Cain wrote: On Tuesday, 24 June 2014 at 17:59:41 UTC, Steven Schveighoffer wrote: // assuming 0 terminated dstring text = x[0..x.strlen].idup; strlen is only defined for char, not dchar: https://github.com/D-Programming-Language/druntime/blob/master/

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Danyal Zia via Digitalmars-d-learn
On Tuesday, 24 June 2014 at 18:34:31 UTC, Chris Cain wrote: You can do what he said, but you'll have to write your own strlen function: something like: size_t strlen(in dchar* s) pure @system nothrow { size_t pos = 0; dchar term = '\0'; while(s[pos] != term)

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Justin Whear via Digitalmars-d-learn
On Tue, 24 Jun 2014 18:17:06 +, Danyal Zia wrote: > On Tuesday, 24 June 2014 at 17:59:41 UTC, Steven Schveighoffer wrote: >> const(dchar *)x = ...; >> >> // assuming 0 terminated dstring text = x[0..x.strlen].idup; >> >> -Steve > const(dchar)* x = "Hello\0"; > dstring text = x[0..x.strlen].idu

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Chris Cain via Digitalmars-d-learn
On Tuesday, 24 June 2014 at 18:17:07 UTC, Danyal Zia wrote: On Tuesday, 24 June 2014 at 17:59:41 UTC, Steven Schveighoffer wrote: const(dchar *)x = ...; // assuming 0 terminated dstring text = x[0..x.strlen].idup; -Steve const(dchar)* x = "Hello\0"; dstring text = x[0..x.strlen].idup; writeln

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Chris Cain via Digitalmars-d-learn
On Tuesday, 24 June 2014 at 17:59:41 UTC, Steven Schveighoffer wrote: // assuming 0 terminated dstring text = x[0..x.strlen].idup; strlen is only defined for char, not dchar: https://github.com/D-Programming-Language/druntime/blob/master/src/core/stdc/string.d#L44

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Danyal Zia via Digitalmars-d-learn
On Tuesday, 24 June 2014 at 17:59:41 UTC, Steven Schveighoffer wrote: const(dchar *)x = ...; // assuming 0 terminated dstring text = x[0..x.strlen].idup; -Steve const(dchar)* x = "Hello\0"; dstring text = x[0..x.strlen].idup; writeln(text); Error: no property 'strlen' for type 'const(dchar)*'

Re: Converting from C const(dchar*) to dstring

2014-06-24 Thread Steven Schveighoffer via Digitalmars-d-learn
On Tue, 24 Jun 2014 13:37:41 -0400, Danyal Zia wrote: Hi, I like to print the strings from a C function that returns const(dchar*), but I can't make the conversion to dstring. I can convert vice versa by: dstring text = "Hello"; const(dchar)* str = toUTFz!(const(dchar)*)(text); // passin

Converting from C const(dchar*) to dstring

2014-06-24 Thread Danyal Zia via Digitalmars-d-learn
Hi, I like to print the strings from a C function that returns const(dchar*), but I can't make the conversion to dstring. I can convert vice versa by: dstring text = "Hello"; const(dchar)* str = toUTFz!(const(dchar)*)(text); // passing it to C function prints Hello However, I don't have the id