Tôi muốn đọc 4 byte đầu tiên từ tệp binnary là một loại bài hát.wav. Trong tệp .wav, 4 byte đầu tiên phải là 52-46-49-49 và tôi phải đọc chúng để kiểm tra sau nếu chúng đúng.cách đọc byte theo byte từ một tệp
Điều này là tôi có một lỗi biên dịch tại dòng fread có nội dung là invalid conversion from "unsigned char" to "void"
và initialzing argument 1 of 'size_t fread(void*,size_t,size_t,FILE*)
và tôi không biết ý nghĩa của nó.
Tôi đã thấy trong một chủ đề trước đây, đây là cách mà fread phải được thực hiện nếu tôi muốn đọc byte theo byte. Nếu bất cứ ai có bất kỳ ý tưởng làm thế nào tôi có thể đọc byte byte và lưu trữ chúng trong một mảng đó là tuyệt vời. Cảm ơn bạn.
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 ;
}
sử dụng 'getc()' 'char' luôn là byte. –