读书人

怎么利用 sscanf 提取数字

发布时间: 2012-12-21 12:03:49 作者: rapoo

如何利用 sscanf 提取数字
char *ptr="sfas -3";
char str[10];
int num;

sscanf(ptr,"%[^ ]%[^]",str,&num);
为何提取不出 数字-3呢
[最优解释]
sscanf(str,"%s%*[^-]-%d",str1,&num); 匹配3
sscanf(str,"%s%*[^-]%d",str1,&num); 匹配-3
[其他解释]

sscanf(ptr,"%[^ ] %d",str,&num);
[其他解释]
%[^ ]注意这里有空格
[其他解释]
sscanf(ptr,"%s%d",str,&num);
[其他解释]
sscanf(str,"%*[^-]-%d",&num); 匹配3
sscanf(str,"%*[^-]%d",&num); 匹配-3
[其他解释]
sscanf(ptr,"%[^ ] %d",str,&num); 这样数字 num 打印的不对啊
[其他解释]
sscanf(ptr,"%[^ ] %d",str,&num); 这样数字 num 打印的不对啊 num=0;
[其他解释]
谢谢 #7
[其他解释]
null

读书人网 >C语言

热点推荐