这个问题在这里已经有一个答案:>
Is there a C++ library to read JSON documents into C++ objects? 4个
我不知道是否对C 2D RPG使用XML,YAML或JSON.
我不知道是否对C 2D RPG使用XML,YAML或JSON.
这是我的想法:
>我需要一些简单的东西,不仅可以保存播放器数据,还可以保存环境数据,如对象(x,y)坐标;加载时间日期;图形配置等
>我需要一些灵活的,易于使用的东西,而且重量轻,而且功能强大可以处理上述.
哪个是最好的选择?我在JavaScript中有JSON的经验,但不是C.有没有什么好的参考解析JSON在C如果这是去的路线?
编辑
老实说,如果一个文本文件看起来像是这样的最简单和最有效的解决方案(特别是如果我可以把它写成二进制文件),那么我都是耳朵.
编辑2
随时提供其他建议.
解决方法
我会用最简单的东西来满足你的要求.
如果您不需要分层存储,那么平面表格文件比其他任何东西都要容易得多.所有你需要做的是读取磁盘上的行并在标签上拆分.
如果您正在查看更多的键/值对类型存储(而不是事物列表),那么INI files可以是合理的.这种格式有很大的灵活性,尽管推理这个格式在你敲诈它时可以不那么平易近人.
如果您需要层次结构,则JSON可能会更简单.有很多语言的JSON库,听起来你已经很熟悉了.
https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser
sqlite可能是另一种选择. sql中有龙,但是在sqlite周围有一个很好的C包装,它可以管理.在我看来,主要的好处是ACID.
YAML规格看起来有点长,所以我可以猜到它有更多的厨房水槽.只是撇去libyaml文档,API看起来有点像过去使用的SAX接口.我没有一个后验知识,但是我没有理由开始使用它,将会保持沉默.
XML很难处理,不要选择加入.
无论选择哪一个,都可以编写尽可能少的代码来管理它.你真的想写你的引擎将先使用的类.然后担心序列化它们.如果让你的序列化影响你的班级设计,你可能会后悔.