sscanf()函数读取字符串中的数字

项目中需要读取形如“@FERFD,1451,368123.30,124.245,0.128,1.579,34.1966004,108.8551924”的字符串中以逗号间隔的数字,先是自己编了一个函数,可以读取指定逗号后的数字并转换为double型,函数原型:double wtof(char *str,int n) //n表示读取第几个逗号后 的数字,效率还不错;后来发现利用sscanf()函数实现起来更简单:

char buf[]="@FERPD,1451,368123.30,124.245,0.128,1.579,34.1966004,108.8551924"; double value1=0,value2=0,value3; sscanf(buf,"%*[$A-Z],%*lf,%*lf,%lf,%lf,%lf",&value1,&value2,&value3); 

这么一行代码即可实现,真是简单。

 

你可能感兴趣的:(sscanf()函数读取字符串中的数字)