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 兼容。