Tienes que declarar un array de chars para contener el nombre de la lonigtud de éste + 1 (char []), o un "char *" y a continuación reservar la memoria dinámicamente. Por otra parte, no puedes asignar cadenas enteras, debes usar la función strccpy.
Código:
#include <stdio.h>
#include <string.h>
int main()
{
char archi[100];
FILE *fp;
strcpy(archi,"file.txt");
if ( (fp = fopen(archi,"w")) != NULL)
{
fputs("Hola mundo\n",fp);
fclose(fp);
}
}