我不明白为什么fput和fprintf逆流顺序。
int fputs (const char * str, FILE * stream);
int fprintf (FILE * stream, const char * format, ...);
ssize_t write(int fd, const void *buf, size_t count);我知道fprintf前放流支持变量参数,但是为什么fput系列不保持一致性?
发布于 2015-01-15 03:29:27
因为这些东西是几十年前写的,这通常只是历史学家感兴趣的问题:-)
这可能只是一个设计决策(或缺乏决策)导致他们这样做,并且,由于ISO值向后兼容性,他们从来没有改变它。
可能是puts是第一个编写的,当编写fputs时,开发人员只需剪切‘n’粘贴,将新的参数添加到末尾。即使printf/fprintf也存在相同的情况,但由于需要变量参数列表的末尾,这是不可能的。
但是,抛开假设,既然我们心爱的丹尼斯已经走了,我们可能永远也不知道真正的原因。
https://stackoverflow.com/questions/27956340
复制相似问题