Phobos中是否有将以零结尾的字符串转换为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兼容性。