On Thursday, 7 March 2013 at 07:20:16 UTC, Jeremy DeHaan wrote:

That's what toStringz is for, and it'll avoid appending the '\0' if it can (e.g. if the code unit one past the end of the string is '\0' as it is with
string literals).



I actually have a different question related to this now that I think about it. Is there a similar function to go from a '\0' terminated char* to a D string? Lately I have been using std.conv.text, but I have also made a function that just parses the pointer and copies its data into a string. I'm actually kind of surprised that there isn't anything built into the string class like this.

You can use "blah\0".to!string(). You can easily use slices too: "blah\0"[0..$-1]. Remember that D doesn't have a string class. string is defined as this:
  alias immutable(char)[] string;
So it's just an array (but some compiler knowledge).

Reply via email to