On Tuesday, 29 November 2016 at 10:21:24 UTC, Anders S wrote:
Hi guys,
just started to get into Dlang, comming from C and C++ I like
to use methods like there if possible.
Now I want to catenate something like this, but don't get it to
work
in standard C i code:
char str[80];
sprintf(str, "This is a number = %f", 3.14356);
Now in Dlang and import core.stdc.string and
code:
char [80] str;
sprintf(str, "This is a number = %d", 314356);
writefln("%s", str);
sprintf(str.ptr, "This is a number = %d".toStringz,314356);
but get error
Error: function core.stdc.stdio.sprintf (char* s, const(char*)
format, ...) is not callable using argument types (char[80],
string, int)
because in D arrays do not decay to pointers. To get a null
terminated string use toStringz
Nor does this work
char [50] temp = "This is a number";
string greeting5= temp~" "~314356;
writefln("%s",greeting5);
add a to!string
314356.to!string
result in error:
Error: incompatible types for ((cast(const(char)[])temp ~ " ")
~ (314356)): 'char[]' and 'int'
Any ideas or hints?
/anders