不兼容的指针类型传递' char [3]'参数类型' FILE *'

时间:2017-11-27 12:32:48

标签: c file pointers

fread应该返回它读取的次数" size"。所以我已将该值分配给变量,但是当想要打印数字时,我收到上述错误。

FILE* card_raw  = fopen( memory , "r") ;
int buffer[512] ;
int readbytes = fread( buffer , 1 , 512 , card_raw ) ;
fprintf("%i" , readbytes );

1 个答案:

答案 0 :(得分:1)

int fprintf(FILE * restrict stream,const char * restrict format, ...);

你传递了3个字符的字符串"%i"以及它所抱怨的内容。

如果printf您不需要指定FILE流。 printf函数将字符发送到标准 输出流stdout

printf("%zu",readbytes);

同时声明readbytes类型的size_t

如果要将其打印到stdoutstderr或其他文件流,则语法为fprintf(stderr,"%zu",readbytes)(使用fprintf)功能