How to ensure string compatibility In D?
FrankLike
1150015857 at qq.com
Wed Jan 23 12:42:55 UTC 2019
On Wednesday, 23 January 2019 at 10:44:51 UTC, Jonathan M Davis
wrote:
> On Tuesday, January 22, 2019 2:49:00 PM MST bauss via
> Digitalmars-d-learn wrote:
> toUTFz is the generic solution. toStringz exists specifically
Error: template std.utf.toUTFz cannot deduce function from
argument types !()(string), candidates are:
E:\D\DMD2\WINDOWS\BIN\..\..\src\phobos\std\utf.d(3070):
std.utf.toUTFz(P)
I have solved the problem in this way:
import core.sys.windows.windows;
import std.stdio;
import std.string;
import std.conv;
void main()
{
auto strA_Z ="CD"w;
auto type = GetDriveType(tos(to!wstring(strA_Z[0])~":\\"));
writeln(to!wstring(strA_Z[0])~" is ",type);
}
private auto tos(T)(T str)
{
version (ANSI)
{
writeln("ANSI");
return cast(const(char)*)(str);
}
else
{
writeln("Unicode");
return cast(const(wchar)*)(str);
}
}
Thanks.
More information about the Digitalmars-d-learn
mailing list