#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
// long int strtol(const char *str, char **endptr, int base)
void extract_all_numbers(char *str) {
char *p = str;
while (*p) {
if (isdigit(*p) || ((*p == '-' || *p == '+') && isdigit(*(p + 1)))) {
long number = strtol(p, &p, 10);
printf("%ld\n", number);
} else {
p++;
}
}
}
int main() {
char *str = "-1c129c++473java3python+99go8";
extract_all_numbers(str);
return 0;
}
/*
run:
-1
129
473
3
99
8
*/