sscanf应用实例

##0196ST=31;CN=2011;PW=123456;MN=88888880000001;CP=&&DataTime=20120814154108;02-Rtd=148.03;S01-Rtd=8.97;01-Rtd=41.27;S03-Rtd=53;S02-Rtd=13.0;S04-Rtd=111.8;S08-Rtd=86891;B02-Rtd=393855.20;03-Rtd=226.74&&2D00";

对以上字符串进行数据的提取,以前用的方式都是用strtok,加上for循环等联合的方式实现,但是最近使用了sscanf以后发现了这个函数其实更加方便,以下是对数据一部分的提前,至于两者的效率方面的比较我就没有研究了。


#include<stdio.h>

#include<string.h>
#include<stdlib.h>


int main()
{

char str[256]="##0196ST=31;CN=2011;PW=123456;MN=88888880000001;CP=&&DataTime=20120814154108;02-Rtd=148.03;S01-Rtd=8.97;01-Rtd=41.27;S03-Rtd=53;S02-Rtd=13.0;S04-Rtd=111.8;S08-Rtd=86891;B02-Rtd=393855.20;03-Rtd=226.74&&2D00";


float t;char *tmp,str1[124];


tmp=strstr(str,"02-Rtd");
sscanf(tmp,"%15[^=]=%f",str1,&t);

printf("str=%s,%f\n",str1,t);


tmp=strstr(str,"S01-Rtd");
sscanf(tmp,"%15[^=]=%f",str1,&t);
       printf("str=%s,%f\n",str1,t);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值