fwrite() 被声明为这样。

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);

但实际写入的字节数只是 size * nmemb。那么为什么不只指定字节数呢?为什么需要同时指定 size 和 nmemb?谢谢。

最佳答案

没有真正的理由。

函数是这样定义的,因为它是;更具体地说,如果在未写入所有元素时出现错误,您无法保证没有写入部分元素或文件指针位于任何特定位置。

我通常只是将元素大小作为 1 传递,然后自己在 count 参数中进行计算。

关于c - 在 `fwrite()` 中同时拥有参数 size 和 nmemb 的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54710750/

10-12 14:37