El fallo esta en que fp es basura, dale el valor devuelto por fopen; No podes concatenar nada a pref, es una cadena con un tamaño fijo.
Para seguir con tu estilo yo haria algo asi:
Código:
char nfoto[256];
strcpy(nfoto, pref);
strcat(nfoto, num);
strcat(nfoto, ext);
strcat(nfoto, "\r\n");
fputs(nfoto, fp);