三九宝宝网宝宝教育学龄段教育

VC读取和分析格式化文本配置文件

11月11日 编辑 39baobao.com

[呵护心灵,把压力“格式化”]女人当然不要做“藤”要做“铿锵玫瑰”,但这并不是说你就要过紧张重压的生活,不惜牺牲健康来换取高薪。呵护心灵要理顺生活的秩序:要事业不要忘记健康,要实现价值,更要美丽长存。...+阅读

大多数的应用程序都有需要配置的参数,配置参数的保存有多种方法,比如采用数据库保存、二进制文件保存、格式化的文本文件保存,各有优缺点,对于一般小的安全性要求不高应用程序,推荐采用格式化文本文件保存方式,这样可以节约编辑修改的界面编程,使用记事本程序编辑即可。

早期的windows就是采用的INI格式文本文件。现在很多应用程序包括大型的软件也还在采用格式化文本文件保存配置参数,比如Bentely MicroStation GIS平台GEOGRAPHICS8.0。

本文给出的就是利用VC来读取和分析配置文本文件,这是笔者这消防监控系统远程终端软件使用的方法。同时给出一个C++类来封装配置文本文件的读取分析。

下面是我采用的配置文件的例子,包含单个参数定义,表格参数定义,注释:

协议名称: TL

工程: SQ

配置人: JY

&emspDEFINE_BEGIN 以下为常量定义

通信参数

&emsp_PORT \\\\.\\1 口

&emsp_BAUDRATE 1200 波特率

&emsp_BITSIZE 8 数据位 number of bits/byte, 4-8

&emsp_STOPBIT 0 0,1,2 对应 1, 1.5, 2

&emsp_PARITY 0 0-4对应no,odd,even,mark,space

&emspSTATIONNO 0 终端号

&emspTCPIP_SERVERIP 192.168.0.10 服务器IP地址

&emspTCPIP_PORTNO 3024 端口

&emspDEFINE_END

&emspTABLE_BEGIN 表格

编号 识别字符串

例子如下

0 Ion Detector, ALU1, L1S43 测量台2&emsp离子烟感探测器 报警

1 Thermal Det, ALU1, L1S39 值班室温感探测器报警

&emspTABLE_END

语法解释:

单行注释

&emspDEFINE_BEGIN 单个参数定义的开始标记

&emspDEFINE_END 单个参数定义的结束标记

&emspTABLE_BEGIN 表格参数开始标记

&emspTABLE_END 表格参数结束标记

单个参数的配置:

每个参数一行:以空格、TAB制表符作为分隔,注释可选,每行结束后有Enter键换行。

表格参数配置:第一列为数字编号,作为ID用,第一列和第二列之间采用空格、TAB制表符作为分隔,其他列之间采用’,’逗号、空格、TAB制表符分隔,因此从第二列起,字符串中间夹的空格是有效字符。比如上面例子中的第一行解释如下:

\"0\",\"Ion Detector\",\"ALU1\",\"L1S43\"

同样,表格参数也是每行有Enter键换行。

下面给出一个C++类来完成这个格式的文本配置读取和分析。

规模:

文本文件的大小:

推荐阅读
图文推荐