如何使用C ++ 17 std :: filesystem获取用户的主目录?

时间:2019-05-28 00:21:13

标签: c++ c++17

我需要获取当前用户的主目录,然后将其追加到其他目录的路径。由于该应用程序是跨平台的,因此该方法应考虑到这一点。我一直在寻找没有成功的解决方案。有没有一种方法可以使用C ++ 17 std :: filesystem获取当前用户的主目录?

1 个答案:

答案 0 :(得分:3)

否。

您获得的唯一特殊目录是适合临时文件的目录,以及当前目录。

您必须编写特定于OS的包装程序才能获取主目录。我个人认为这是一个坏主意:相反,您应该具有“用户应用程序设置”目录功能,“用户文档'”目录功能等(取决于您的应用程序需求)。将这些目录与主目录进行比较的位置因操作系统而异。

以我的经验,也有一个用于存储“类似注册表的属性集”的API是个好主意(例如,在值上带有序列化代码的字符串映射)。它可以映射到macOS上的复制者,Windows上的注册表以及Linux上的其他内容。