小编Zis*_*tis的帖子

如何从文件中逐字节读取

我想从binnary文件读取4个第一个字节,这是一个song.wav类型.在.wav文件中,4个第一个字节必须是52-46-49-49,我必须读取它们以便稍后检查它们是否为真.

问题是我在fread线上有一个编译恐怖,它说invalid conversion from "unsigned char" to "void", initialzing argument 1 of '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 ;
}
Run Code Online (Sandbox Code Playgroud)

c

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1