版本控制的文件格式有关问题

版本控制的文件格式问题
各位大侠,

现做的项目中涉及到很多参数,需要将所有参数都保存到文件中,参数的修改实现版本控制。
现需要寻找一种合适的文件格式来保存所有参数。要求文件不能直接打开查看。

希望大虾们能给点建议:
如何定义文件格式,
如何实现文件的读取,存储方式?

PS:要能用C++代码说明更好,较大的东东可以发到我邮箱tz.0107@163.com

小妹很感谢大虾们的答复!!!

------解决方案--------------------
fopen(), fwrite(), fclose(), fread()
或者

std::ifstream, std::ofstream
------解决方案--------------------
.ini
------解决方案--------------------
文件格式没那么严格,根据自己需要定吧!如果要求不能直接查看的话,整成二进制的或者要有转码
------解决方案--------------------

我想,LZ的参数是相对复杂的。基于key,value这种形式的配置文件恐怕是不适合的。这里建议2种方案。

1. 建立基于XML的配置文件。优点是便于修改参数。
2. 建立基于动态链接库的方式。结合C++多态的特点。每个动态链接库实现一个特定版本的参数集合。
------解决方案--------------------
文件不能直接打开查看指的是什么?只能用你自己写的工具看吗?
用6楼的建议,使用xml。然后对xml文件进行简单的加密或压缩即可。比如:按字节异或某个值。
xml的lib库有很多,windows、linux都有。用着也很方便。
------解决方案--------------------
据说以前是用配置文件
现在是用xml
------解决方案--------------------
C/C++ code
参考 TLV / XDR 之类的格式。给一个最简单的 TLV 的例子。

FILE *fp = fopen("config.dat", "wb");
typedef enum { INT_TYPE, STRING_TYPE, } type_t;
void write_tlv(FILE *fp, int type, int length, void *value) {
  fwrite(fp, &type, sizeof(type));
  fwrite(fp, &length, sizeof(length));
  fwrite(fp, value, length);
}

int arg_1 = 1;
write_tlv(fp, INT_TYPE, sizeof(arg_1), &arg_1);