昨天晚上和同事討論寫 Log 的問題,談到寫到文件,后來談到寫文件用 ReadFile、WriteFile 還是用 fread、fwrite 的問題。我一直對(duì) fread、fwrite 沒啥好感,原因是它自作主張的搞了一套緩存機(jī)制。可是僅僅這點(diǎn)就鄙視它似乎還說不過去。談著談著,后來我們對(duì)它的參數(shù)設(shè)計(jì)起了懷疑——這里有一個(gè)參數(shù)是多余的!從表面看,ReadFile、WriteFile 的參數(shù)是恰到好處的,fread、fwrite 作為它們的上層函數(shù),似乎沒必要把一個(gè)參數(shù)拆成 2 個(gè)呀。
后來就一直跟 fread,直到出現(xiàn) ReadFile,都沒發(fā)現(xiàn)這 2 個(gè)參數(shù)有什么特別的用處,他們很早就被乘起來了:
count = total = elementSize * count;
所以,目前我仍然對(duì)這個(gè)設(shè)計(jì)感到困惑。
有誰知道,這是由于什么樣的歷史原因/技術(shù)原因,才使這個(gè)函數(shù)變成現(xiàn)在這副模樣的?
posted on 2010-04-04 19:41
溪流 閱讀(5332)
評(píng)論(35) 編輯 收藏 引用 所屬分類:
C++