从字符串中读取数字

时间:2014-12-06 13:29:31

标签: c string

我的字符串阅读有问题。从Hell13 World我需要得到数字13。

while (*znak){
   if (isdigit(*znak)){
    x=*znak - '0';
    printf("%d\n", x);
   }
    *dst++ = * znak;
    znak ++;
    }

用我的解决方案,我分别得到1号和3号。

1 个答案:

答案 0 :(得分:1)

您只能获得第一个数字,然后将其打印出来。看到一个数字后,你必须循环,直到你看不到数字。

if (isdigit(*znak)){
    while (*znak && isdigit(*znak))
        x= x*10 + *znak++ - '0';
    printf("%d\n", x);
}