Crea, mediante array de strings o en un fichero de configuración, las rutas donde tu programa tendrá que mirar si hay el .srt que busca el usuario; y después que vaya probando ruta por ruta si el archivo existe y cargue la primera aparición o le diga al usuario que no existe.
Yo lo he hecho con arrays:
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp;
char cadena[80];
char directorio[2][80];
char archivo[80];
char ruta[165];
char const extension[] = ".txt";
int i;
int encontrado;
int caracteres;
strcpy(directorio
[0], "./prueba/"); strcpy(directorio
[1], "./prueba2/");
printf("Nombre el archivo a buscar: ");
for(i = 0, encontrado = 0; i < 2 && !encontrado; ++i) {
ruta[0] = '\0';
if(fp)
encontrado = 1;
}
if(encontrado) {
caracteres
= printf(" Contenido de %s\n", archivo
); for(i = 0; i < caracteres; ++i)
cadena[0] = '\0';
}
}
else {
printf("El archivo %s no ha sido encontrado\n", archivo
); }
return(0);
}
Así suponiendo que hay un archivo llamado prueba.txt en el directorio prueba, con texto en su interior 'prueba'; y un archivo llamado prueba2.txt en el directorio prueba2, con texto en su interior 'prueba2':
Nombre el archivo a buscar: prueba
Contenido de prueba
---------------------
prueba
Nombre el archivo a buscar: prueba2
Contenido de prueba2
----------------------
prueba2
Nombre el archivo a buscar: prueba3
El archivo prueba3 no ha sido encontrado