MFC讀寫文件CStdioFile

   CStdioFile類的用法(除此之外還有CFile,CArchive,CMemFile等等)。
  MFC中使用CStdioFile類封裝了C++運行時刻文件流的操作,流文件採用緩衝方式,支持文件模式和二進制模式文件操作,默認方式爲文本模 式。
  CStdioFile類從CFile類繼承,具有如下三個構造函數:
  1、CStdioFile():建立一個CStdioFile類的對象,但不打開文件;
  2、CStdioFile(FILE* pOpenStream):建立一個CStdioFile類的對象,並將該對象同一個已經打開的文件相聯繫;
  3、CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags):建立一個CStdioFile類的對象,同時打開一個文件,nOpenFlags是打開文件的方式,它可以取值如下所述:
  ·CFile::modeCreate:創建新文件,並覆蓋已有文件
  ·CFile::modeRead:以只讀方式打開文件
  ·CFile::modeReadWrite:以讀/寫方式打開文件
  ·CFile::modeWrite:以只寫方式打開文件
  ·CFile::shareExclusive:不允許其他進程讀/寫文件
  ·CFile::typeText:表示以文本方式打開文件
  ·CFile::typeBinary:表示以二進制方式打開文件
  以上是幾種常用的打開方式,還有另外幾種可以去查閱相關資料。例如你可以這樣創建一個新文件:
  CStdioFile ioFile("新文本.txt", CFile::modeCreate|CFile::modeWrite);或者
  CStdioFile ioFile;
  ioFile.Open("新文本.txt", CFile::modeCreate|CFile::modeWrite);
  表示創建一個名爲“新文本”擴展名爲TXT的只寫文件,另外因爲沒有說明,默認爲以文本方式打開而不是二進制方式。文件的關 閉:ioFile.Close();
  CStdioFile類中有兩種特殊的讀/寫文件的方法,ReadStrng和WriteString,分別讀出或寫入一個文本行。例如使用 WriteString時,可以這樣使用:
  CString str = "這是一行文本\n";
  ioFile.WriteString(str);
  若要達到同樣的目的,對應CFile而言,則應這樣定義str = "這是一行文本\r\n"。
  ReadString有兩種重載的用法,可以指定讀出的字符數,也可以不指定,如果在讀文件過程中發生異常,將產生CFileException異 常。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章