hola!
lo que podrias hacer es tener unas variables asi:
 
    char nombre[LENGTH] ={"tablaEnrutamiento"};
    int i =0;
 
 
donde le incrementas en uno a i cuando entras a una posible funcion creaFichero, o devuelveNombreFIchero, que podria hacer simplemente unos 
    
    strcat(nombre,i);
    strcat(nombre,".txt");
 
asegurate que LENGTH sea un numero lo suficientemente grande como para almacenar el nombre mas el numero mas la extension.
no se si me exprese bien, a ver capaz asi:
 
char *devuelveNombre(int *i,char *nombre){
   (*i)++;
    strcat(nombre,i);
    strcat(nombre,".txt");
 
    return nombre;    
}
 
empieza con un i++ suponiendo que i esta inicializada en 0 y suponiendo tambien que queres que el nombre empieze con 1.
lo que obtendrias con esto es una cadena que contiene: "tablaEnrutamiento1.txt" la primera vez, "tablaEnrutamiento2.txt" la segunda vez, 
y asi susecivamente.
epero haberte podido ayudar 
