In genere la scanf e' una delle funzioni di base che si studia per prima (anche perche' e' molto semplice).
Dichiari un array di caratteri abbastanza grande
char filename[250];
e lo usi per acquisire il nome
scanf("%s", filename);
e usarlo nella fopen
file = fopen(filename, "r");