wchar* to char[]
doob
doobnet at gmail.com
Thu Feb 7 05:25:07 PST 2008
Sergey Gromov wrote:
> Heinz <malagana15 at yahoo.es> wrote:
>> Is there a way to convert a wchar* variable to char[]? I'm trying to use the Win32 API LoadStringW, wich takes a parameter a wchar*.
>
> Assuming that `src' is a wchar* string, in Phobos it's like this:
>
> import std.utf;
> extern(C) uint wcslen(in wchar* str); // a C runtime library function
>
> char[] str = toUTF8(src[0..wcslen(src)]);
>
> In Tango, this would be:
>
> import tango.text.convert.Utf;
> import tango.text.Util;
>
> auto len = indexOf(src, '\u0000', uint.max);
> char[] str = toString(src[0..len]);
>
I would do like this:
Phobos:
import std.string;
import std.utf;
// alias for char[] (D 1.x)
string str = toUTF8(toString(src));
Tango:
import tango.stdc.stringz;
import tango.text.convert.Utf;
char[] str = toString(fromString16z(str));
More information about the Digitalmars-d-learn
mailing list