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");