В настоящее время, когда я хочу получить домашний каталог пользователя в 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. Это должно было бы поддержать широкий диапазон платформ все же.
Задача ещё не решена.
Других решений пока нет …