如何使用 C 以跨平台方式找到用户的主目录?

新手上路,请多包涵

如何在 C++ 中以跨平台的方式找到用户的主目录?即 Linux 中的 /home/user,Windows Vista 上的 C:\Users\user\,Windows XP 上的 C:\Documents And Settings\user\,以及 Mac 使用的任何内容。 (我认为是/用户/用户)

基本上,我正在寻找的是一种 C++ 方法(python 中的示例)

 os.path.expanduser("~")

原文由 Macha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 510
1 个回答

我认为不可能用这个完全隐藏 Windows/Unix 的鸿沟(除非,也许,Boost 有什么东西)。

最便携的方法必须是 getenv("HOME") 在 Unix 上并连接 getenv("HOMEDRIVE")getenv("HOMEPATH") 在 Windows 上的结果。

原文由 Marcelo Cantos 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题