2010/07/23

[翻譯]File I/O (上)

File I/O
by Kent Reisdorph


在某種程度上,每個程式設計師都會需要做些檔案寫入和輸出(File I/O)的工作。
在這邊我們只探討File I/O,不包含資料庫檔案的處理(那個看資料庫實作範例就可以了,資料庫程式設計可是C++ Builder的專門科)。

不管怎說,不論是現在還是以後,你都會需要專業的File I/O。

在這篇文章將展示File I/O的寫入和輸出動作。


我們會討論C++ Builder中多樣且有效的File I/O模式。並且示範如何使用以下兩種模式:C++ iostream classes 和 VCL TFileStream class。

‧有好多的選擇!
C++ Builder 提供一些執行File I/O的方法,包含以下選擇:
 The C-style FILE mechanism
 The C++ iostream classes
 The VCL streaming classes (TFileStream)
 The VCL database mechanism

這麼多選擇,你會選哪一個?這答案當然是依每位程式設計師的經驗而有所不同,如果你是有C語言背景的程式設計師,或許你早已經熱悉File I/O的方法。若是你具有C++語言背景,你可能很熟悉iostream的處理方式。假如你是Delphi程式設計師,也許你早就體驗過TFileStream了。最重要的,是你知道如何挑選合適的方法去處理工作。

所以,我們回到問題,選個方法吧。資料庫程式設計………好,所以我們就跳過最後一個方法而只介紹清單裡一般的File I/O方法。

我們打算也跳過清單裡的C-style mechanism,因為它實在是太老舊了,不過如果你正在使用或已經使用它一段時間了,也無所謂。這方法不會造成系統不利的影響。只因為它不符合現在物件導向的潮流。C語言風格之file I/O的使用方法與底層的檔案handle的處理很接近,其中方法包含了fopen(), fread(), fwrite(), fclose(), fseek(), 和 ftell(). 補充一點,這些方法是跨平台的,如果你考慮跨平台,可以使用此方式。另一方面,如果你使用的是C++ Builder,則你可能就不會關心這個議題。(編按:啊怎麼就不提Kylix?)

未完待續…(基本上沒人看到就不會再續了…哈!)

沒有留言:

張貼留言