Originariamente inviato da Abenzka
char * names[dimname];
char * tmp;

for(i=0;i<dimname;i++)
{
fscanf(fp,"%s",tmp);//la fscaf è ok
names[i] = strdup(tmp);
}

Prova così, non ti so dire se funziona xkè non posso provarlo adesso cmq la strdup mi ha salvato parecchie volte con questi problemi...

La strdup non c'entra ... forse non hai letto il commento di andbin ... e devi ripassare anche tu l'uso dei puntatori ...