fread、fwrite 的参数设计问题

fread、fwrite 的参数设计问题

昨天晚上和同事讨论写 Log 的问题,谈到写到文件,后来谈到写文件用 ReadFile、WriteFile 还是用 fread、fwrite 的问题。我一直对 fread、fwrite 没啥好感,原因是它自作主张的搞了一套缓存机制。可是仅仅这点就鄙视它似乎还说不过去。谈着谈着,后来我们对它的参数设计起了怀疑——这里有一个参数是多余的!从表面看,ReadFile、WriteFile 的参数是恰到好处的,fread、fwrite 作为它们的上层函数,似乎没必要把一个参数拆成 2 个呀。

后来就一直跟 fread,直到出现 ReadFile,都没发现这 2 个参数有什么特别的用处,他们很早就被乘起来了:

count = total = elementSize * count;

所以,目前我仍然对这个设计感到困惑。

有谁知道,这是由于什么样的历史原因/技术原因,才使这个函数变成现在这副模样的?

你可能感兴趣的:(fread、fwrite 的参数设计问题)