我需要一种在 Linux 上运行的 C++ 程序中获取用户主目录的方法。如果相同的代码可以在 Unix 上运行,那就太好了。我不想使用 HOME 环境值。
AFAIK,根主目录是/root。如果我的程序由 root 用户运行,是否可以在此目录中创建一些文件/文件夹?
原文由 Alex F 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在 C++ 中使用此代码获取主目录
std::string home_dir = getenv("HOME");
原文由 Ryotaro Hoshina 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1k 阅读✓ 已解决
1 回答672 阅读✓ 已解决
1 回答932 阅读✓ 已解决
3 回答559 阅读✓ 已解决
1 回答1.3k 阅读
1 回答776 阅读✓ 已解决
4 回答695 阅读
您需要
getuid
获取当前用户的用户 ID,然后getpwuid
获取该用户的密码条目(包括主目录):注意:如果您在线程应用程序中需要此功能,则需要使用
getpwuid_r
代替。