I am trying to convert a substring to integer but I am getting this output
    int main()
{
    char buf[50] = "210-567-12-2040-34567890.txt";
    char* pStart = buf;
    char* pCurrent = buf;
    while(*pCurrent != '\0')
    {
        if (*pCurrent == '-' || *pCurrent == '.') 
        {
            uint32_t val = strtoul(pStart, NULL, 10); 
            pStart = pCurrent+1;
            printf("%ul\n",val);
        }
        ++pCurrent;
    }
    return 0;
}
I am getting this output
210l                                                                                                                                   
567l                                                                                                                                   
12l                                                                                                                                    
2040l                                                                                                                                  
34567890l
Why is there a l in it?
 
    