C 哪个更好?XML、INI还是其他?

C 哪个更好?XML、INI还是其他?,c,xml,ini,C,Xml,Ini,我正在用C写一个程序,我需要一个配置文件。问题是,我不知道哪个更好。这个程序看起来非常庞大,有几个部分都试图从同一个配置文件中获取信息。那么有人对哪一个更好有什么建议吗?或者可能是我从未想过的东西?使用,真的。有一些专用的配置文件库,例如 完全可重入的解析器。可以同时在并发线程中解析独立配置 C和C++绑定,以及钩子允许用其他语言创建包装器。 一种简单、结构化的配置文件格式,比XML更可读、更紧凑,比过时但流行的Windows“INI”文件格式更灵活 一个低占用率实现(对于C库仅为37

我正在用C写一个程序,我需要一个配置文件。问题是,我不知道哪个更好。这个程序看起来非常庞大,有几个部分都试图从同一个配置文件中获取信息。那么有人对哪一个更好有什么建议吗?或者可能是我从未想过的东西?

使用,真的。

有一些专用的配置文件库,例如

  • 完全可重入的解析器。可以同时在并发线程中解析独立配置
  • C和C++绑定,以及钩子允许用其他语言创建包装器。
  • 一种简单、结构化的配置文件格式,比XML更可读、更紧凑,比过时但流行的Windows“INI”文件格式更灵活
  • 一个低占用率实现(对于C库仅为37 K,对于C++库来说是76K),适用于内存受限的系统。
  • 适当的文件
示例配置文件:

我将使用XML:

  • 简单的手工编辑
  • 将来,您可以编写一个模型来验证配置文件(使用DTD、XSD、RNG或Schematron)
  • 易于用任何语言解析

我们无法告诉您,因为您的问题太模糊了。配置文件中将包含什么内容?你在一个特定的平台上吗?在Windows上,注册表适用于简单配置。是否需要手动编辑配置文件?或者它是一个保存系统值的存储库?它可以手动编辑,但我确实计划构建一个小型GUI来编辑这些值。也许我应该澄清一下。这将是在*nix系统上进行的。对于验证方面,我会给出+1,但是对于简单的编辑,我会给出-1。我同意,XML不是最简单的方式,也许我应该说“手动编辑”;)