C语言实现了crontab表达式执行时间

公司有个嵌入式低功耗项目,项目需求中有一项是仿照Linux cron task的定时设置,作为设备定时唤醒时间。于是就自己琢磨写了C语言的Crontab表达式执行时间,各种调试结果与crontab执行时间在线工具一致。用到了基姆拉尔森计算公式计算星期,Linux源码中的Crond.c文件的ParseField函数。希望能对同行有帮助。
crontab表达式的知识请自行百度。
先讲讲实现思路:
1、参考Linux源码中的Crond.c文件的static char *ParseField(char *user, char *ary, int modvalue, int off,const char *const *names, char *ptr);函数,将crontab表达式解析成结构体CronLine中的分钟数组,小时数组,日期数组,月份数组和星期数组,并对其对应项赋值为1.

typedef struct CronLine 
{
	char cl_Mins[60];	/* 0-59                                 */
	char cl_Hrs[24];	/* 0-23                                 */
	char cl_Days[32];	/* 0-31                                 */
	char cl_Mons[12];	/* 0-11                                 */
	char cl_Dow[7];		/* 0-6, beginning sunday                */
} CronLine;
static char *ParseField(char *user, char *ary, int modvalue, int off,const char *const *names, cha
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值