![]() |
||
Basic Member
加入日期: Feb 2005
文章: 10
|
請問C++的開啟檔案
書本上面寫著...
--- ifstream 輸入物件; //建立輸入檔案物件 ofstream 輸出物件; //建立輸出檔案物件 fstream 輸出入物件; //建立輸入輸出檔案物件 --- 我有個疑點, 為什麼建立文字檔還要分輸入/ 輸出/ 輸入輸出三種類型呢? ![]() |
|||||||
![]() |
![]() |
*停權中*
加入日期: Aug 2005 您的住址: 誠徵女神的牧場
文章: 32
|
不會...
![]() 去問學校老師最快... |
||
![]() |
![]() |
Major Member
![]() 加入日期: Jun 2003 您的住址: where the light is
文章: 271
|
引用:
看一下 http://www.cplusplus.com/ref/iostream/fstream/ http://www.cplusplus.com/ref/iostream/ofstream/ http://www.cplusplus.com/ref/iostream/ifstream/ 他們繼承的來源不同 |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Jun 2000 您的住址: 新北市的邊緣
文章: 452
|
引用:
為啥麼喔, 我覺得是針對細項去分而已, 需要用到輸入時就只是載入ifstream,不用載入其他的標頭檔,省空間. 這三個的父類別都是ios, 通常我們用的時候都直接全部載入, 一般的x86機器可能沒有感覺檔案差多少, 但是對於一些小型的控制器(20Mhz或是40Mhz, 記憶體定址有限的硬體), 能省就省. 以上如果有錯請指正.
__________________
http://211.72.51.216:8080/ |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Jun 2003 您的住址: Taipei
文章: 442
|
端看你對這個"文字檔"的用途在哪。
例如一般寫入 log,只需要以寫入方式開啟,那麼使用 ofstream class 就好;單純讀取 log 檔,只需使用 ifstream class 就好;某些特殊的情況下,必須要同時讀檔又寫檔,例如我想要記算某個 log 檔有幾行記錄,並且在這個檔案的最後面寫入共有幾行的資訊,這時候就要用到 fstream class。 樓上的小貓貓,載入"多餘"的 header file 不會讓編譯後的二進位檔大小增加,只會增加編譯時間而已。既然二進位檔的大小不會增加,就不會影響執行效率。 而且, ifstream, ofstream, fstream,全都是定義在 fstream 這個標準 C++ 函式庫所規範的標頭檔裡。 此文章於 2005-08-21 11:00 PM 被 harrisonlin 編輯. |
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Jun 2000 您的住址: 新北市的邊緣
文章: 452
|
引用:
多謝 harrisonlin 的指正.
__________________
http://211.72.51.216:8080/ |
|
![]() |
![]() |