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 286 views
1 answer 151 views
1 answer 218 views
1 answer 73 views
1 answer 85 views
1 answer 103 views
...