Am 12.08.2010 15:59, schrieb Ezneh:
Richard Webb Wrote:
Is returning a D string to a non-D language going to cause problems?
Hmm it seems that returning an int works but returning string / char types
doesn't work ...
Anyone knows why ?
Hi,
returning an int works because D's int and most other language's (eg
C's) int are identical. D's string is an alias for 'immutable(char)[]'.
The brackets [] idicate an D array. D arrays are not the same as C
arrays. In C strings are char* pointing to a null terminated sequence of
chars. In D they are more complicated.
Just let your function return char* replace 'return xy;' with 'return
toStringz(xy);'. Then put 'import std.string' at the begining of your
file. Then you do this your function will return c-like strings for
interfacing with C and C++.