C++ 頭文件系列(fstream)


1. 簡介

該頭文定義了與文件箱關聯的流類的4個模版:

  • basic_filebuf
  • basic_ifstream
  • basic_ofstream
  • basic_fstream

和8個類型:

  • filebuf
  • ifstream
  • ofstream
  • fstream
  • wfilebuf
  • wifstream
  • wofstream
  • wfstream

2. basic_filebuf模版

該模版繼承自basic_streambuf,同時將輸入流與輸出流與文件相關聯,它的作用與basic_stringbuf是相似的。 因為繼承自可重用的基類,它自身只定義了有限的公有函數虛函數(虛函數不再贅述)。

2.1 公有函數

  • open : 打開文件並關聯。
  • close : 關閉文件並取消關聯。
  • is_open : 檢測先前是否順利打開了文件。
  • operator =(移動語義) : 移動語義的賦值運算符。
  • swap : 交換兩個對象內容。

2.2 全局模版函數

  • swap : 基本上每個標准類都回提供swap的兩種形式:成員函數 和 全局模版。

3. 基於文件的流類模版

  1. basic_ifstream內部使用bsaic_filebuf來控制劉序列,它繼承自basic_istream
  2. basic_ofstream內部使用bsaic_filebuf來控制劉序列,它繼承自basic_ostream
  3. basic_fstream內部使用bsaic_filebuf來控制劉序列,它繼承自basic_iostream

同樣是由於繼承可重用基類的緣故,這些類模版本身也只定義了幾個公有函數。

3.1 公有函數

  • open : 打開文件並關聯。
  • close : 關閉文件並取消關聯。
  • is_open : 檢測先前是否順利打開了文件。
  • rdbuf : 返回內部的basic_stringbuf對象指針。
  • operator = (移動語義)
  • swap

3.2 全局模版函數

  • swap

4 typedefs

  • typedef basic_ifstream< char > ifstream;
  • typedef basic_ofstream< char > ofstream;
  • typedef basic_fstream< char > fstream;
  • typedef basic_filebuf< char > filebuf;
  • typedef basic_ifstream< wchar_t > wifstream;
  • typedef basic_ofstream< wchar_t > wofstream;
  • typedef basic_fstream< wchar_t > wfstream;
  • typedef basic_filebuf< wchar_t > wfilebuf;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM