なぜfputsとfprintfが逆のストリーム順であるのか分かりません。なぜfputsと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);
I知らfprintfのは、可変引数をサポートするために前方に流れを入れ、しかし、なぜfputsシリーズは一貫 を保持していません?
を知らないかもしれない、私は誰もが絶対に確実に答えを与えることができるかわかりません。私の個人的な信念は、 'printf'が必然的にそれを実行したことです(あなたがすでに述べたように)。' fputs'はおそらく既にそれによって確立されていたでしょうから、一致させるためにそれを逆にすることは許されないと見られました。 –
Scott MeyersはAPIデザインに関する講演を行ったところで、この正確な例を「間違っている」[https://www.youtube.com/watch?v=5tg1ONG18H8]として強調しました。 – Jeff
'stdio'はあまり設計されていない一般的なライブラリです。それには他にも多くの問題があります。 – EJP