与平台无关的方式来获取用户在C ++中的主目录

时间:2017-03-24 22:42:26

标签: c++ idiomatic platform-independent pwd getpwuid

目前,当我想用​​C ++获取用户的主目录时,我会这样做:

#include <pwd.h>

const char* get_home_directory() {
    struct passwd *pw = getpwuid(getuid());
    return (pw == nullptr ? nullptr : pw->pw_dir);
}

但这取决于getpwuid,这是一个POSIX / BSD库函数;它是C而不是C ++。是否有一个独立于平台的,希望更多的C ++方法可以做到这一点?

注意:常用的标准库,即使是非Boost,也可以使用。它必须支持广泛的平台。

0 个答案:

没有答案