On 06/03/2017 04:36 PM, Mike B Johnson wrote:
On Saturday, 3 June 2017 at 23:09:56 UTC, Stanislav Blinov wrote:
On Saturday, 3 June 2017 at 22:54:22 UTC, Mike B Johnson wrote:

How to convert a string to wchar*?

C-style null-terminated wchar*?

https://dlang.org/phobos/std_utf.html#toUTF16z

This didn't work. More errors than the first. In any case, it conv
should work.

Worked for me:

import std.stdio;
import std.utf;

void main() {
    string s = "hello";
    s ~= " world";

    auto w = s.toUTF16z;

    // Rough length estimate (assuming that all characters in this
    // UFT-16 encoded string are 2-byte long)
    // And +1 is for the "null char"
    auto bytes = (cast(ubyte*)w)[0 .. s.length * 2 + 1];

    writefln("%(%02x %)", bytes);
}

Output:

68 00 65 00 6c 00 6c 00 6f 00 20 00 77 00 6f 00 72 00 6c 00 64 00 00

Ali

Reply via email to