关于这个问题,手册并不清楚。
如果我告诉fread()
每次(在一个循环中)从1024
字节的文件1项中读取,并且最后一个块是size < 1024
,我知道{{1} }将返回fread()
。
但是,缓冲区是否包含余数?
答案 0 :(得分:3)
标准说:
7.21.8.1 fread函数
如果读取了部分元素,则其值是不确定的。
这种情况下的元素大小为1024字节,您可以读取一个元素。 该元素(1024字节的整个块)将具有不确定的值。读取该值可能会导致未定义的行为。
和
fread函数返回成功读取的元素数,可能是 如果遇到读错误或文件结束,则小于nmemb。
如果返回值为0,则成功读取零元素,另一个指示元素未正确读取,并且不应使用,如前所述。