版本控制的文件格式问题

tzcherish 2009-11-09 11:22:13
各位大侠,

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

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

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

小妹很感谢大虾们的答复!!!
...全文
193 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2009-11-16
  • 打赏
  • 举报
回复
参考 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);
tzcherish 2009-11-16
  • 打赏
  • 举报
回复
to whg01
好的,我试试看。。O(∩_∩)O~
tzcherish 2009-11-16
  • 打赏
  • 举报
回复
to Wolf0403
谢谢回复O(∩_∩)O~
不过我得先研究下TLV。。
whg01 2009-11-15
  • 打赏
  • 举报
回复
用scanf读取,应该还好。
tzcherish 2009-11-15
  • 打赏
  • 举报
回复
to whg01

呵呵,知道了。。。这个格式是比较简单,但读写的时候,可能代码简单却繁琐。。。
没有更好的方法了么?
whg01 2009-11-14
  • 打赏
  • 举报
回复
自己定义格式未必操作方便,因为格式的定义、读写函数都要你自己处理。但速度应该会很快。
whg01 2009-11-14
  • 打赏
  • 举报
回复
反正都是你自己的程序读、写文件。所以可以用最简单的格式:

机器参数区:
参数1
参数1.1 参数1.2 ...
参数2
....
计量参数区:
参数1.1 参数1.2 ...
参数2
....

tzcherish 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 whg01 的回复:]
自己定义格式未必操作方便,因为格式的定义、读写函数都要你自己处理。但速度应该会很快。

[/Quote]
速度很快,这点很好。
我想自己设计一个文件格式。
那根据我的需求,如何自定义文件格式会比较好呢。。。能否给点思路和设计方法?
tzcherish 2009-11-13
  • 打赏
  • 举报
回复
up
tzcherish 2009-11-12
  • 打赏
  • 举报
回复
感谢大虾们的答复!
By the way . 我要是自定义文件格式,会不会比xml更方便操作呢?

在这里我表述一下需求:
参数种类有:机器参数,剂量参数等大概有6种参数。
其中,机器参数等每种参数又包含若干参数,参数类型可能各不一样。
参数实现版本控制,修改前将所有参数备份到文件中,同时备份版本号和修改日期。并为当前的版本生成一个新的版本号。

自定义文件格式,要能方便修改参数,读写文件。
大虾们,能给点意见么?
clhposs 2009-11-12
  • 打赏
  • 举报
回复
据说以前是用配置文件
现在是用xml
tzcherish 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 whg01 的回复:]
文件不能直接打开查看指的是什么?只能用你自己写的工具看吗?
用6楼的建议,使用xml。然后对xml文件进行简单的加密或压缩即可。比如:按字节异或某个值。
xml的lib库有很多,windows、linux都有。用着也很方便。
[/Quote]
to whg01
文件不能直接打开就是不能用txt打开查看,或者打开是乱码即可。
呵呵,谢谢答复O(∩_∩)O~
whg01 2009-11-12
  • 打赏
  • 举报
回复
文件不能直接打开查看指的是什么?只能用你自己写的工具看吗?
用6楼的建议,使用xml。然后对xml文件进行简单的加密或压缩即可。比如:按字节异或某个值。
xml的lib库有很多,windows、linux都有。用着也很方便。
tzcherish 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yutaooo 的回复:]
我想,LZ的参数是相对复杂的。基于key,value这种形式的配置文件恐怕是不适合的。这里建议2种方案。

1. 建立基于XML的配置文件。优点是便于修改参数。
2. 建立基于动态链接库的方式。结合C++多态的特点。每个动态链接库实现一个特定版本的参数集合。
[/Quote]

to yutaooo
谢谢答复。。。O(∩_∩)O~
tzcherish 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lylm 的回复:]
文件格式没那么严格,根据自己需要定吧!如果要求不能直接查看的话,整成二进制的或者要有转码
[/Quote]
to lylm
你说得对,文件格式没有那么严格。。。我确实是要根据自己的需要来自定义文件格式。。。现在的问题是,我要存不同种类的参数,要怎样自定义文件格式,能方便对文件进行读写。。
yutaooo 2009-11-11
  • 打赏
  • 举报
回复

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

1. 建立基于XML的配置文件。优点是便于修改参数。
2. 建立基于动态链接库的方式。结合C++多态的特点。每个动态链接库实现一个特定版本的参数集合。
lylm 2009-11-11
  • 打赏
  • 举报
回复
文件格式没那么严格,根据自己需要定吧!如果要求不能直接查看的话,整成二进制的或者要有转码
kouwenlong 2009-11-11
  • 打赏
  • 举报
回复
.ini
tzcherish 2009-11-11
  • 打赏
  • 举报
回复
up
tzcherish 2009-11-11
  • 打赏
  • 举报
回复
to xingzhe2001

感谢你的回答。。。

项目中有很多种类的参数,比如机械参数,物理参数等,其中每种参数(如机械参数)中又有很多参数。。
如何自定义一种文件格式,能方便文件的读写呢?
加载更多回复(1)
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧