How to parse string to multiple unsigned long numbers in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

int main()
{
    const char *p = "3122 2345322 53223 5987283";
    char *end;
    for (unsigned long n = strtoul(p, &end, 10); p != end; n = strtoul(p, &end, 10)) {
        p = end;
        if (errno == ERANGE) {
            printf("range error");
            errno = 0;
        }
        printf("n = %lu\n", n);
    }
}
 
/*

run:

n = 3122
n = 2345322
n = 53223
n = 5987283

*/

 



answered Jul 20, 2018 by avibootz

Related questions

2 answers 311 views
1 answer 166 views
1 answer 235 views
1 answer 84 views
1 answer 99 views
1 answer 121 views
...