A como dice Akai, estas pasando por alto los saltos de lineas, los espacios en blanco y mas importante aun el EOF. Si tu intencion es copiar solo letras del abecedario en todo caso seria comparar que el valor ascii es >=97 y no >=92 ya que si te fijas en la tabla ascii el valor 92 corresponde al caracter '\'.
En todo caso te dejo mi version del programa...tenia rato de no escribir codigo en C
#include <stdio.h>
#include <stdlib.h>
/*copy_file recibe como parametro el nombre del fichero origen y el nombre del fichero destino
donde se copiara, devuelve 1 si se copio exitosamente,0 en caso contario*/
int copy_file(char* f_org,char* f_dest);
int main()
{
if(!copy_file("fichero1.txt","fichero2.txt"))
printf("El fichero no se pudo copiar\n"); else
printf("Fichero copiado exitosamente\n");
return 0;
}
int copy_file(char* f_org,char* f_dest)
{
FILE *fp_org,*fp_dest;
char c;
if(!(fp_org
=fopen(f_org
,"rt")) || !(fp_dest
=fopen(f_dest
,"wt"))) {
perror("Error de apertura de ficheros"); }
return 1;
return 0;
}