[mw_shl_code=c,true]void DATE_AREA(void)
{[/mw_shl_code]
[mw_shl_code=c,true] char char date_gps[4];[/mw_shl_code]
[mw_shl_code=c,true] int i;
char lin[3]; //临时用来装字符的数组
for(i=0;i<3;i++)
{
lin[0]=date[i*2];
lin[1]=date[i*2+1];
lin[2]='\0';
sscanf(lin,"%X",&date_gps);
}
[/mw_shl_code]
上面是一个转换函数,我接收到的是日期的字符141217,然后转换成16进制ASCII;但是有个问题,这个scanff转换函数在其他地方工作都正常,就在这个地方的时候,有时候对的,有时候是错误的。就是转换的日期的第一个date_gps[0],这个数据经常是没有的,就直接是00,只有第二个和第三数据,但是有的时候就是对的。
查了好几天,都没找到原因。。其他地方用scanff都是好的。数据都是没问题。
原子哥,这种原因一般都是什么情况? |