fread函数为何总是返回0?

fread函数的原型为** size_t fread(void ptr, size_t size, size_t nmemb, FILE stream).

其中第二个参数为要读取的尺寸,第三个参数为要读取的次数.

当我们要读取的文件中的实际内容小于第二个参数指定的大小时,就会总是返回0.

例如,如果一个文件的尺寸为256bytes,而我们使用** fread(data_read, 1024, 1 , file),则其返回值就总为0.那我们可以采用下面的这种方式来替代它,让它返回正确的结果: fread(data_read, 1, 1024, file)**.

只是不知道后面的那种形式有什么负面效果.我觉得可能会因为读取的次数多,而导致性能比第一种低.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容