小小的 copy 大大的學問
平常都是直接在電腦上寫程式,結果面試的時候要在紙上寫,還真的寫不太出來。因為都習慣線上查資料,所以參數都沒有背,所以拿回家 compiler 後果然一堆錯誤,不是參數位置放錯,不然就是個數不正確。 以下是修改過的版本,錯誤檢查是一定要的,比較特別的是 fread 跟 fwrite 的第 2 & 3 個參數,其中第 2 個參數是 size,第 3 個參數是個數,而傳回值是成功讀取或寫入的個數而非 size。我原本的寫法是 length = fread(buf, sizeof(buf),1 , fp) 成功時 length = 1,但最後一筆不滿 buf size 的就讀不到了,所以才改成 length = fread(buf, 1, sizeof(buf) , fp) 這樣 length 就傳回實際讀到的長度了,不過不曉得有沒有影響效能就是了