Независимый от платформы способ получить домашний каталог пользователя в C++

В настоящее время, когда я хочу получить домашний каталог пользователя в 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 ответов

Другие вопросы по тегам