Phobos中是否有將零終止字符串轉換爲D字符串的函數?將零終止字符串轉換爲D字符串
到目前爲止,我只找到了相反的情況下toStringz
。
我需要這在下面的代碼片段
// Lookup user name from user id
passwd pw;
passwd* pw_ret;
immutable size_t bufsize = 16384;
char* buf = cast(char*)core.stdc.stdlib.malloc(bufsize);
getpwuid_r(stat.st_uid, &pw, buf, bufsize, &pw_ret);
if (pw_ret != null) {
// TODO: The following loop maybe can be replace by some Phobos function?
size_t n = 0;
string name;
while (pw.pw_name[n] != 0) {
name ~= pw.pw_name[n];
n++;
}
writeln(name);
}
core.stdc.stdlib.free(buf);
,我用它來從用戶ID查找的用戶名。
我現在假設UTF-8兼容性。
如果你想要一個字符串,然後使用idup創建一個不可變的重複 –