Kopierfunktion mit fgetc() und fputc() funktioniert nicht
-
Hallo,
Beigfügter Code soll die ersten 44 Bytes (Header) einer Wave-Datei in eine neu erstellte Wave-Datei kopieren. Betrachte ich nach dem Ausführen die Kopie mit einem Hex-Editor, zeigt sich, dass verglichen mit dem Original nach dem fünften und dem 42. Byte jeweils ein zusätzliches Byte mit dem Wert 0D eingefügt ist. Am Ende habe ich also nicht die gewünschten 44 Bytes, sondern 46 und die Daten im Header sind verschoben. Es wäre sehr nett wenn mir jemand mit diesem Problem helfen könnte.
Grüße
Splint#include <stdio.h> #include <stdlib.h> int main() { FILE *fOriginal = fopen("original.wav", "r"); FILE *fKopie = fopen("kopie.wav", "w"); for(int i=0; i<44; i++) fputc(fgetc(fOriginal), fKopie); fclose(fOriginal); fclose(fKopie); return 0; }
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C (alle ISO-Standards) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
"rb" und "wb" als Dateimodi nehmen.
-
Danke SeppJ jetzt funktioniert es.