fread应该返回它读取的次数" size"。所以我已将该值分配给变量,但是当想要打印数字时,我收到上述错误。
FILE* card_raw = fopen( memory , "r") ;
int buffer[512] ;
int readbytes = fread( buffer , 1 , 512 , card_raw ) ;
fprintf("%i" , readbytes );
答案 0 :(得分:1)
int fprintf(FILE * restrict stream,const char * restrict format, ...);
你传递了3个字符的字符串"%i"
以及它所抱怨的内容。
如果printf
您不需要指定FILE流。 printf函数将字符发送到标准
输出流stdout
。
printf("%zu",readbytes);
同时声明readbytes
类型的size_t
。
如果要将其打印到stdout
或stderr
或其他文件流,则语法为fprintf(stderr,"%zu",readbytes)
(使用fprintf
)功能