我如何从D中的字节数组构造字符串

时间:2015-02-17 00:55:33

标签: string size d zero-copy

我有一个字节数组,它被定义为指针+大小:

  size_t size;   // size in bytes
  void   *data;  // NOT zero-terminated string

如何从中构建,最好是零拷贝,'string'?

1 个答案:

答案 0 :(得分:5)

这假设data指向不可变的内存:

string s = (cast(immutable(char)*)data)[0..size];

如果没有,则char[]更合适而不是字符串,或者您可以使用.idup制作不可变副本。