Ich möchte die ersten 4 Bytes aus einer Binärdatei lesen, die vom Typ song.wav ist. In einer .wav-Datei müssen die ersten 4 Bytes 52-46-49-49 sein und ich muss sie später überprüfen, ob sie korrekt sind.
Das Problem ist, dass ich einen Kompilierfehler in der fread-Zeile habe, der besagt Ungültige Konvertierung von "unsigned char" zu "void"
und Argument 1 der Initialisierung von 'size_t fread(void*, size_t, size_t, FILE*)'
und ich weiß nicht, was das bedeutet.
Ich habe in einem vorherigen Thema gesehen, dass dies die Art und Weise ist, wie fread durchgeführt werden muss, wenn ich Byte für Byte lesen möchte. Wenn jemand eine Idee hat, wie ich Byte für Byte lesen und sie in einem Array speichern kann, wäre das großartig. Danke.
void checksong(char *argv[]){
FILE *myfile;
int i;
unsigned char k[4];
myfile=fopen(argv[2],"r");
i=0;
for(i=0; i<4; i++){
fread(k[i],1,1,myfile);
}
for(i=0; i<4; i++){
printf("%c\n", k[i]);
}
return ;
}