import core.stdc.stdio : puts;
import core.stdc.string : strlen;
s = "D string " ~ 2.to!string;
auto c_string = toStringz( s );
writeln( "D string: ", s );
write ( "C string: " ); puts( c_string );writeln();
writeln( "D string length: ", s.length );
writeln( "C string length: ", strlen( c_string ) );
immutable(char)* toStringz( string s )
if ( s.capacity > s.length )
writeln( " use reserved" );
char* cptr = cast( char* ) s.ptr;
char* zptr = cptr + s.length;
return cast( immutable(char)* ) cptr;
import std.string : toStringzDefault=toStringz;
return toStringzDefault( s );