Printing a C "string" with write(f)ln

Gary Willoughby via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Feb 9 08:52:09 PST 2016


On Tuesday, 9 February 2016 at 12:50:27 UTC, Jakob Ovrum wrote:
> writefln et al sensibly does *not* assume that a pointer to 
> char is a C string, for memory safety purposes.
>
> Print the result of std.string.fromStringz[1] instead:
>
> writeln(fromStringz(pString));
> writefln("%s", fromStringz(pString));
>
> [1] http://dlang.org/phobos/std_string#fromStringz

Or use `to` like this:

import std.conv;
writefln("%s", pString.to!(string));


More information about the Digitalmars-d-learn mailing list