码迷,mamicode.com
首页 > 其他好文 > 详细

sscanf解析固定形态的字符串

时间:2017-04-28 18:24:49      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:数据   ima   end   dvr   second   min   com   log   ndt   

某厂商demo中的解析字符串的一段代码,字符串格式是“2016/10/02 14:55:26~14:55:28”

        HB_SDVR_TIME bgntime,endtime;
        bgntime.dwYear    = atoi(g_Filename);
        bgntime.dwMonth    = atoi(g_Filename + 5);
        bgntime.dwDay    = atoi(g_Filename + 8);
        bgntime.dwHour    = atoi(g_Filename + 11);
        bgntime.dwMinute  = atoi(g_Filename + 14);
        bgntime.dwSecond  = atoi(g_Filename + 17);
        endtime.dwYear = atoi(g_Filename);
        endtime.dwMonth = atoi(g_Filename + 5);
        endtime.dwDay = atoi(g_Filename + 8);
        endtime.dwHour = atoi(g_Filename + 23);
        endtime.dwMinute = atoi(g_Filename + 26);
        endtime.dwSecond = atoi(g_Filename + 29);

这一直数到29,还是很佩服的

其实这种固定格式可以使用sscanf中匹配正则的方法来弄,比较简单明了。

 

几个规则:

基本格式为%[set],例如%[a-z],%[0-9]等,只匹配序列中的字符

^号用于非,即匹配序列外中的字符,遇到序列中的字符停止匹配

*号用于跳过某数据,后面也可以加匹配类型,%*[0-9]

sscanf最后返回匹配成功的数量

 

顺便再吐下槽,从一些公开的东西是可以看到一家公司的用心程度的,譬如该厂商网站上的demo,子工程名字好些个都是preview就不说了,编译不通过也不说了,编译后不能正常运行也不说了,就说包里不同目录下,两个同名头文件的差异,也真的是让人无语凝噎了

技术分享

 

sscanf解析固定形态的字符串

标签:数据   ima   end   dvr   second   min   com   log   ndt   

原文地址:http://www.cnblogs.com/heiche/p/6782361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!