Sei sicuro che i file siano tutti presenti e contengano dei dati?

Che i nomi dei file sia correttamente presenti nell'array?

Prova a scrivere semplicemente

codice:
void CaricaDaFile(char **paths,int num)
{
  //...
 for (i=0;i<num;i++) 
  {
    fp=fopen(paths[i],"r");

    printf("%p %s\n", fp, path[i]);

    fclose(fp);     
  }
}
e controlla vedi la lista che viene visualizzata ...