Windows Programming/Microsoft Foundation Classes

維基教科書,自由的教學讀本
跳至導覽 跳至搜尋

微軟基類庫(MFC)是一套包裝了Windows API的簡潔的C++類庫,用於Microsoft Visual Studio開發Windows應用程式。

如果沒有下述需求,你可以考慮採取Win32 API SDK或其他包裝庫:

  1. 利用複雜的GUI,使用文檔/視圖架構或者複雜的控制項。
  2. 使用依賴於MFC的其他庫
  3. 你的應用程式使用複雜安裝

讀寫文件[編輯]

流式文件是被緩衝的。

CFile是MFC文件類的基類,它直接提供非緩衝的二進位磁碟輸入/輸出設備,通過派生類支持文本文件和內存文件。

CStdioFile繼承自CFile。CStdioFile不支持Duplicate,LockRange,和UnlockRange這幾個CFile函數。如果在CStdioFile中調用了這幾個函數,將會出現CNoSupported異常。CStdioFile定義了ReadString與WriteString兩個成員函數,注意二者都做了\n與\r\n的自動轉換。

  • CStdioFile::ReadString(LPTSTR lpsz, UINT nMax);讀取一行文本到緩衝區,遇到「0x0D 0x0A」時停止讀取,並且去掉硬回車「0x0D」,保留換行符「0x0A」,在字符串末尾添加「\0」(0x00)。nMax個字符里包含0x00這個字符。如果緩衝區容量不夠,則沒有換行符「0x0A」。如果文件未讀完返回true,否則返回false。
  • CStdioFile::ReadString(CString &rString); 重載版本。讀取一行文本到rString,遇到回車換行符停止讀取。回車和換行符不讀到rString。
  • CStdioFile::WriteString( LPCTSTR lpsz );(不支持CString直接寫入)結束的空字符(「\0」)不被寫入該文件。lpsz中的所有換行符都被以一個硬回車換行符對寫入該文件,即「\n」被轉化成「\r\n」寫入到文件里。