目前,当我想在 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,也可以工作。不过,它必须支持广泛的平台。