Io ho creato 3 file txt ed ho lanciato questo programmino.

codice:
#include <stdio.h>

void CaricaDaFile(char **paths,int num)
{
  int i=0;
  FILE *fp;
  char regola[100];
  
  for (i=0;i<num;i++) 
  {
    fp=fopen(paths[i],"r");

    while(!feof(fp))
    {
     if ( fgets(regola,100,fp) )
     {
        printf("%s\n",regola);
            	}
      
    }
    fclose(fp);     
  }
}

int main()
{
    char *nomi[]={"a.txt","b.txt","c.txt"};
    int n=3;
    
    CaricaDaFile(nomi,n);
    
    return 0;
    }
e funziona perfettamente.