如何将 D 中的 char* 转换为字符串?
我有一个标准的 char 指针,我试图将其转换为字符串。
// string to char*
char *x = cast(char*)("Hello World\0");
// char* to string?
string x = cast(string)x;
string x = cast(immutable(char)[])x;
错误!
有什么想法如何将 char* 转换为 D 中的字符串吗?
I have a standard char pointer which im trying to cast to a string.
// string to char*
char *x = cast(char*)("Hello World\0");
// char* to string?
string x = cast(string)x;
string x = cast(immutable(char)[])x;
Error!
Any ideas how to cast a char* to a string in D?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
std.conv.to
将char*
转换为string
。使用 std.string.toStringZ 走另一条路。Use
std.conv.to
to convert fromchar*
tostring
. Usestd.string.toStringZ
to go the other way.如果您知道确切的长度,您可以这样做:
对于某些需要的情况(例如字符串包含
\0
)。If you know the exact length you can do this:
For some cases (like if the string contains
\0
) that is needed.