我想从一个类型为song.wav的二进制文件中读取前4个字节。在.wav文件中,前4个字节必须是52-46-49-49,并且我必须读取它们以后检查它们是否正确。
问题是我在fread行处有一个编译错误,其中说“无效转换从unsigned char到void”,以及“初始化参数1的'size_t fread(void*,size_t,size_t,FILE*)”和我不知道它是什么意思。
我在之前的主题中看到,如果我想逐字节读取,则必须按照此方式执行fread。如果有人知道如何逐字节读取并将其存储在数组中,那将非常好。谢谢。
问题是我在fread行处有一个编译错误,其中说“无效转换从unsigned char到void”,以及“初始化参数1的'size_t fread(void*,size_t,size_t,FILE*)”和我不知道它是什么意思。
我在之前的主题中看到,如果我想逐字节读取,则必须按照此方式执行fread。如果有人知道如何逐字节读取并将其存储在数组中,那将非常好。谢谢。
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 ;
}
getc()
函数,char
类型始终是一个字节。 - Charan Pai