如何将C字符串转换为D字符串?

Jer*_*oen 4 string casting d c-strings

如果我有一个C字符串,它是一个指向空终止字符数组的指针,我该如何将它转换为常规D字符串?

我想知道这个的原因是因为我目前正在使用外部C库,在错误时返回C字符串.

Ada*_*ppe 6

使用std.conv.to功能:

char* c_str = c_function();
string s = to!string(c_str);
Run Code Online (Sandbox Code Playgroud)

您还可以切片和/或复制c字符串:

char[] arr = c_str[0 .. strlen(c_str)];
string s = arr.idup;
Run Code Online (Sandbox Code Playgroud)

等等.