lol, viel zu kompliziert

strtok() hat doch deine zeile in spalten zerstückelt.
angenommen die aktulle spalte steht in char* s;
und s[i] sei die erste digit.
s[i+n] der buchstabe. n unbekannt.
Code:
int findNonDigit (char *s, int i) {
while (isdigit(s[i])) i++;
if (s[i] == '\0') {
printf ("hier stimmt was nicht!\n");
exit (-1);
}
return i;
}
....
....
int n = findNonDigit (s, i);
char c = s[i+n];
s[i+n] = '\0';
int zahl = atoi (s + (char*) i);
c ist schon geil

gerade was sowas angeht.