cfile是mfc檔案類的基類,它直接提供非緩衝的二進位制磁碟輸入/輸出裝置,並直接地通過派生類支援文字檔案和記憶體檔案。cfile與carchive類共同使用,支援mfc物件的序列化。
該類有三種常見的建構函式,其中一種宣告形式如下:
cfile(lpctstr lpszfilename,uint nopenflags);引數:lpszfilename是指定的檔名稱,可以是相對路徑和決定路徑;
nopenflags是指定檔案的操作標誌,常見有以下幾種,:
我們建立乙個單文件mfc工程,命名為file;並在主選單中增加file的選單項,writefile和readfile是其子選單,其id分別是idm_writefile和idm_readfile,這兩個子選單時非popup型別,如下圖所示:
我們在view類中增加這兩個的選單響應函式,其函式分別命名為onwritefile和onreadfile;
onwritefile訊息響應函式:
void cfileview::onwritefile()onreadfile訊息響應函式:; //寫入檔案內容,不包含/0
file.write(szbufdata, strlen(szbufdata));
//立即寫入,不緩衝
file.flush();
//檔案操作結束關閉
file.close();
}
void cfileview::onreadfile()onwritefile執行結果://建立指定大小的buffer
dword dwfilelenth = (dword)file.getlength();
//初始化buffer, 增加乙個/0空間
char *pbuf = new char[dwfilelenth + 1];
memset(pbuf, 0, dwfilelenth + 1);
if (pbuf != null)
}
工程目錄下出現test.txt檔案,其內容是「hello word!」;
onreadfile執行結果:
彈出messagebox對話方塊,其內容是「hello word!」;
資料成員
m_hfile
常包含作業系統檔案控制代碼
建構函式
cfile
從乙個路徑或檔案控制代碼構造乙個cfile物件
abort
不管任何警告和錯誤,關閉乙個檔案
duplicate
構造乙個基於該檔案的副本
open
帶錯誤檢驗選項,安全開啟乙個檔案
close
關閉檔案,刪除物件
輸入/輸出
read
從檔案的當前位置讀資料
readhuge
可從檔案的當前位置讀取大於64k資料,在32位程式設計中廢棄了,見read
write
將檔案資料寫入當前檔案位置
writehuge
可將檔案的大於64k資料寫到當前檔案位置,在32位程式設計中廢棄了,見write
flush
溢去未被寫入的任何資料
定位 seek
定位於當前檔案指標
seektobegin
定位當前檔案指標到檔案開頭
seektoend
定位當前檔案指標到檔案尾
getlength
獲取檔案長度
setlength
改變檔案長度
封鎖 lockrange
在檔案中封鎖一定範圍內的位元組
unlockrange
解鎖一定範圍內的位元組
狀態 getposition
獲取當前檔案指標
getstatus
獲取開啟檔案的狀態
getfilename
獲取被選檔案的檔名
getfiletitle
獲取被選檔案的標題
getfilepath
獲取被選檔案的完整路徑
setfilepath
設定被選檔案的完整路徑
靜態 rename
改名指定檔案(靜態函式)
remove
刪除指定檔案(靜態函式)
getstatus
獲取指定檔案的狀態(靜態,虛函式)
setstatus
設定指定檔案的狀態(靜態,虛函式)
CFile檔案操作
各種關於檔案的操作在程式設計中是十分常見,如果能對其各種操作都瞭如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的 因而熟練的掌握檔案操作是十分重要的。本文將對visual c 中有關檔案操作進行全面的介紹,並對在檔案操作中經常遇到的一些疑難問題進行詳細的分析。1 檔案的查...
C File類 檔案操作
c 語言中 file 類同樣可以完成與 fileinfo 類相似的功能,但 file 類中也提供了一些不同的方法。file 類中獲取或設定檔案資訊的常用方法如下表所示。屬性或方法 作用datetime getcreationtime string path 返回指定檔案或目錄的建立日期和時間 dat...
VC中的檔案操作 CFILE
各種關於檔案的操作在程式設計中是十分常見,如果能對其各種操作都瞭如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的 因而熟練的掌握檔案操作是十分重要的。本文將對visual c 中有關檔案操作進行全面的介紹,並對在檔案操作中經常遇到的一些疑難問題進行詳細的分析。1 檔案的查...