我需要获取当前用户的主目录,并在此基础上添加其他目录的路径。由于应用程序是跨平台的,所以方法应该考虑到这一点。我一直在寻找解决方案,但没有成功。是否有一种方法可以使用C++17 std::filesystem获取当前用户的主目录?
编号。
你手头唯一的特殊目录是适用于临时文件和当前目录的目录。
你需要编写一个特定于操作系统的包装器来获取主目录。我个人认为这是个不好的想法:相反,你应该拥有“用户应用程序设置”目录函数、“用户文档”目录函数等(根据你的应用程序需求确定)。这些目录与主目录的位置因操作系统而异。
在我的经验中,还有一个存储“类似注册表属性集”的API是个好主意(例如,具有值序列化代码的字符串-字符串映射)。它可以映射到macOS上的plists、Windows上的注册表以及Linux上的其他东西。