static int findNum( const char* str)
{
    char Num[8];
    int i = 0;
    int reval = -1;
    const char* p = str;

    while ( *p && ((*p > '9') || (*p < '0'))) p++;

    if ( *p ) {
        while (*p <= '9' && *p >= '0' ) {
            Num[i++]= *p++;
        }
    }
    else {
        return reval;
    }

    if ( strlen(Num) == 0 ) {     return reval;    }
   
    for ( i = 0; i < 8 && Num[i] != '/0'; ++i ) {
               reval += Num[i]- '0';
    }

    return reval;
}

=============================================
今天用到,自己乱写了一个,不过和贴出来的有差别,用的不是数组,是string, 而且用了 StrToInt 函数。
改进一下很容易实现在找出若干个数字来。