語法書 / AA 競程語法書 下冊 / 第十四單元 / 為什麼要學讀寫檔案

14.1 為什麼要學讀寫檔案

到目前為止,你的程式只跟兩個對象打交道:鍵盤(cin 讀進來)和螢幕(cout 印出去)。對競程選手來說,學會第三個對象「檔案」,有三個實際的理由:

  1. 在自己電腦上測大測資。 就是「想像一下」的慘案:測資一大,複製貼上又慢又容易斷。把測資存成檔案、讓程式自己讀,存一次就能無限次重跑——改程式、重測、再改、再測,節奏完全不同。

  2. 輸出太長,螢幕看不完。 有些題目輸出上萬行,在終端機裡「咻」一下就捲走了。讓程式把輸出寫進檔案,你可以慢慢捲動、用編輯器搜尋,甚至用比對工具把它跟正確答案逐字比較——肉眼盯螢幕找差異的時代就此結束。

  3. 有些比賽真的要求檔案讀寫。 部分資訊學科能力競賽,以及一些較舊制度的國外比賽(例如美國 USACO 的舊制),規定程式必須從指定檔名讀入、把答案寫到指定檔名。遇到這種比賽,本單元就是入場券。

不過,先把最重要的一件事說在前面: