digitalmars.D.bugs - char [] toString(char x )
In std.string toString(char x ) is :
char[] toString(char c)
{
char[] result = new char[2];
result[0] = c;
result[1] = 0;
return result;
}
Whats with that null char ? Should this be toStringz ?
Anyway this is failing :
char [] f = "Fizzle";
char [] newF;
foreach ( char x;f ) {
newF ~= std.string.toString(x);
}
printf("%.*s",newF);
Only prints 'F'
however this works
char [] f = "Fizzle";
char [] newF;
foreach ( char x;f ) {
newF ~= std.string.toString(x)[0 .. 1];
}
printf("%.*s",newF);
Thanks,
C
May 18 2004
"Charlie" <Charlie_member pathlink.com> wrote in message
news:c8dr4m$24oe$1 digitaldaemon.com...
In std.string toString(char x ) is :
char[] toString(char c)
{
char[] result = new char[2];
result[0] = c;
result[1] = 0;
return result;
}
I'm guessing it was done that way to make it easier to use with C functions:
toStringz() wouldn't need to copy it; but whoever wrote it forgot to just
return a slice of the first char. I didn't even know that function existed.
Obvious fix that needs to be made:
char[] toString(char c)
{
char[] result = new char[2];
result[0] = c;
result[1] = 0;
return result[0 .. 1];
}
May 26 2004








"Vathix" <vathixSpamFix dprogramming.com>