C中最后一个fread()中的信息大小

Pig*_*Pig 0 c fread

#define MAXSIZE 256

fread(buff, sizeof(MAXSIZE), 1, infp);
Run Code Online (Sandbox Code Playgroud)

最多说我们需要阅读3次,阅读2次后剩下的东西infp都要小于MAXSIZE.我们如何确定上次阅读时的信息大小?

her*_*tao 5

您只需检查以下内容的返回值fread():

返回值

成功读取的对象数,如果发生错误或文件结束条件,则可能少于计数.

像这样:

size_t num = fread(...);
Run Code Online (Sandbox Code Playgroud)

PS:正如@chux评论的那样,你实际上需要使用fread(buff, MAXSIZE, 1, infp).