i'm a beginner and my english is not well so sorry first. im trying to sum the numbers in a string (for a14fg5pk145 it returns 14+5+145), and it doesn't work: "Exception thrown: read access violation. str was 0x61."
this i my code:
void main()
{
    int x, i;
    char* pp;
    char buffer[SIZE];
    printf("Please enter numbers and letters:\n");
    gets(buffer);
    pp = buffer;
    x = SumStr(*pp);
    printf("%d", x);
}
int SumStr(char* str)
{
    int sum=0, num=0, flag = 0;
    while ((*str) != '\0')
    {
        while (((*str) > '1') && ((*str) < '9'))
        {
            if (flag == 0)
            {
                num += (*str);
                flag = 1;
            }
            else if (flag == 1)
                num = num * 10 + (*str);
            str++;
        }
        if (flag == 0)
            str++;
        sum += num;
        num = 0;
        flag = 0;
    }
    return sum;
}
 
     
     
     
    