Kopieren des Inhalts einer Binärdatei

Ich entwerfe einen Bilddecoder und als ersten Schritt habe ich versucht, den mit c zu kopieren. Öffnen Sie die Datei und schreiben Sie den Inhalt in eine neue Datei. Unten ist der Code, den ich verwendet habe.

while((c=getc(fp))!=EOF)
  fprintf(fp1,"%c",c);

wobei fp die Quelldatei und fp1 die Zieldatei ist. Das Programm wird fehlerfrei ausgeführt, aber die Image-Datei (". Bmp") wird nicht richtig kopiert. Ich habe festgestellt, dass die Größe der kopierten Datei geringer ist und nur 20% des Bildes sichtbar sind, alles andere ist schwarz. Als ich es mit einfachen Textdateien versuchte, war der Kopiervorgang abgeschlossen.

Weißt du was das Problem ist?