Well the number part is easily handled by sscanf like so:



int where;

if (sscanf(linefromfile, "%d .%n", &node->key, &where) == 1)
// Good.