c语言写的配置文件解释器

c语言写的配置文件解释器

下载地址

  1. 直接下载: 戳这里

  2. gitee地址: https://gitee.com/ccchenji/cf_interpreter

文件说明

cf_interpreter.c : 解释器配置源文件

cf_interpreter.h : 解释器.h文件

cf_interface.h : 解释器api接口文件

cf.txt: 示例工程对应的配置文件

main.c: 示例工程对应的main文件

Makefile: 示例工程对应的编译文件

配置文件语法说明

配置文件例程

参考cf.txt


TEST_DOUBLE = 4.3;
TEST_INT= 4;
TEST_STR = "world";

语法

关键字 = 值 ;

解释器api说明


// 是否开启解释器的警告和错误信息,如果不需要开启直接注释掉
#define CF_MESSAGE

// 解释器支持的变量类型
// 当前只支持三种类型 int ,double,字符串
enum cf_type{VAR_DOUBLE=0,VAR_INT,VAR_STR};

// 运行解释器
// 入口参数为配置文件的路径
void RunInterpreter(char *filename);

// 添加要配置的变量到解释器
// 第一个参数:变量对应的关键字
// 第二个参数:要配置的变量,需要变量的地址
// 第三个参数:变量的类型->cf_type里的变量类型
char AddVar(const char*,void*,char);

// 从解释器中删除变量
// 参数变量对应的关键字
void DelVar(const char*key);

// 给字符串类型申请内存
// 字符串类型的变量需要用该函数先初始化
// 第一个参数:字符串内容
// 第二个参数:字符串长度
char* StrMalloc(const char*str,unsigned int len);


快速开始

  1. 将 cf_interpreter.c cf_interpreter.h cf_interface.h 这三个文件包含在你的工程里
  2. 调用api开始使用解释器

添加double类型的变量到解释器


#include <stdio.h>
#include "cf_interface.h"
int main()
{
	double testd = 1.1;

	// 调用AddVar添加变量
	// 变量testd对应的关键字设置为 TEST_DOUBLE
	AddVar("TEST_DOUBLE",&testd,VAR_DOUBLE);
	printf("%f\r\n",testd);

	// 运行解释器,解释器输入为配置文件路径
	RunInterpreter("./cf.txt");
	printf("%f\r\n",testd);
}

添加int类型的变量到解释器


#include <stdio.h>
#include "cf_interface.h"
int main()
{
	int testi = 1;

	// 调用AddVar添加变量
	// 变量testd对应的关键字设置为 TEST_INT
	AddVar("TEST_INT",&testi,VAR_INT);
	printf("%d\r\n",testi);

	// 运行解释器,解释器输入为配置文件路径
	RunInterpreter("./cf.txt");
	printf("%d\r\n",testi);
}

添加str类型的变量到解释器

#include <stdio.h>
#include <string.h>
#include "cf_interface.h"
int main()
{
	// 使用StrMalloc为字符串添申请内存
	char *tests = StrMalloc("hello",strlen("hello"));

	// 变量tests对应的关键字设置为 TEST_STR
	AddVar("TEST_STR",&tests,VAR_STR);
	printf("%s\r\n",tests);
	
	// 运行解释器,解释器输入为配置文件路径
	RunInterpreter("./cf.txt");
	printf("%s\r\n",tests);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式魔法师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值