c - Fread 函数给出相同的值

标签 c fwrite fread

大家好,我想问一下关于 fread 和 fwrite 函数的问题

我像这样调用了 fread 函数

 fread(&buf , sizeof(short int) ,1 ,f1);

还有这样的

 fread(&buf , 1, sizeof(short int) ,f1);

同样,fwrite 都工作正常。为什么?哪个实际上是正确的?应该使用哪个? 谢谢

最佳答案

第一个是正确的。第二个可能会导致只阅读部分内容。

第二个参数是记录大小,第三个参数是记录数。 fread 将读取整数数量的记录,但可能读取少于请求的记录数量(例如,如果遇到 EOF)。

关于c - Fread 函数给出相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817984/

相关文章:

c - fwrite() 不向文件写入任何内容 - C

c - 如何通过fread函数读取char*字符串?

C:从二进制文件中读取的 unsigned short 与原始模式不匹配后存储到缓冲区中

c - C中的多维数组访问

c - C::B 中的调试器。无法打开 cygwin.S

c - Linux 内核中的 major() 和 minor() 函数

c - 在 GCC 中使用 -Wall -Wextra 并出现错误

c - 在堆部分声明结构时,Fread 未读取?

node.js - createWriteStream 与 writeFile?

C、从bin文件中读取二进制文件