May 18, 2004 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 26, 2004 Re: char [] toString(char x ) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Charlie | "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]; } | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply