获取配置文件的跨平台路径(C/C++)

Mal*_*ous 7 c++ cross-platform configuration-files

我想将我的应用程序的设置存储在配置文件中.在Linux(和Mac?)下,这个(可能)是/home/user/.config/app.conf,而在Windows下它可能是"C:\ Documents and Settings\username\Application Data\app.conf".它当然可以存储在其他地方,因此获得正确位置的唯一方法是使用特定于平台的功能.

我只想说我不想冒这个问题自己编写错误(因为我无法访问其中一些平台进行测试),所以有人知道是否有任何经过良好测试的跨平台C/C++库那可以吗?使用一堆#defines的.h/.hpp文件也可以,只要它被广泛使用.

我认为Boost的程序选项库可能(因为它可以加载配置文件),但它似乎无法.

有什么建议?

Mal*_*ous 3

这个问题再次出现,所以我决定硬着头皮创建自己的解决方案,因为唯一现有的解决方案是大型框架的一部分,对于小型程序来说不切实际。

我已在https://github.com/Malvineous/cfgpath发布了代码

它被置于公共领域,任何人都可以出于任何目的免费使用。除了标准平台 API 之外,它没有任何依赖项。只需#include一个.h文件并调用其中一个函数。存储库中的其他文件只是测试代码,除非您想要进行更改并打算发送给我(请这样做!),否则您不需要这些文件

不幸的是,正如我在原来的帖子中所说,我无法轻松访问许多平台,因此我希望我能获得一些补丁来添加对更多平台的支持。