c语言, sscanf 可以转数值字符串 为 数值。
第2个数值起,定位用:“如果前一个字符是空白,后一个是数字,就是数的开始”
n -- 帮你统计个数,若想把数据存入数组,则可以用n为下标。
#include <stdio.h>
#include <stdlib.h>
main()
{
char str[100]="123 667.23 54e-2";
int i,L,n=0;
double y;
L = strlen(str);
if (sscanf(str,"%lf",&y)){ printf("%g ",y);n++;} // 取第一个数值
for (i=1;i<L;i++)
if (str[i]==' ' && (str[i+1]>='0' && str[i+1]<='9')) {
sscanf(&str[i+1],"%lf",&y);
printf("%g ",y);
n++;
}
printf("-- total %d data I have read\n",n);
return 0;
}
温馨提示:答案为网友推荐,仅供参考