檔案的寫入 定位和異常處理

2021-08-25 20:32:50 字數 1555 閱讀 2527

一:寫入檔案

virtual void write(const void *lpbuf,uint ncount)//從緩衝區寫入檔案

lpbuf:表示待寫入的資料緩衝區

ncount向檔案中寫入資料的數量

void writehuge(const void *lpbuf,uint ncount)//用於寫入大量資料

二:定位檔案

virtual long seek(long loff,uint nform)//重新設定檔案指標的位置

loff表示檔案指標移動的位元組數

nform指標移動的起點,cfile::begin表示從檔案開始,指標向後移動loff位元組;

cfile::current表示從當前位置開始指標向後移動loff位元組

cfile::end表示從檔案末尾開始針向後移動loff位元組

void seektobegin()//檔案指標移到檔案頭

dword seektoend()//檔案指標移到檔案尾

virtual void lockrange(dword dwpos,dword dwcount)//用於鎖定檔案中指定區域的資料,這樣可以防止其他程序對該區域資料的訪問

dwpos:表示從開始位元組到被封鎖位元組的偏移量

dwcount:表示封鎖的位元組數

virtualvoid unlockrange(ulonglong dwpos,ulonglong dwcount)//與鎖相反,用於解鎖

三、檔案異常處理

在open()開啟時可能會出錯,可以初始化乙個cfileexception物件來描述錯誤,cfileexception中的m_cause是列舉變數,

cfileexception::none,沒有錯誤發生

cfileexception::個呢日常:發生未指定錯誤

cfileexception::filenotfound 不可定位的檔案

cfileexception::badpath 全部或部分路徑無效

cfileexception::invalidfile想使用uige無效的控制代碼

cfileexception::accessdenied 檔案不可訪問

例如**

cfiledialog dlg(true,null,null,ofn_hidereadonly|ofn_overwriteprompt,"allfiles| *.txt",afxgetmainwnd());//開啟對話方塊

cstring strpath;

if(dlg.domodl()==idok)

{strpath=dlg.getpathname();

cfile file;

cfileexception pexception;//建立物件

file.open(strpath,cfile::moderead,&pexception); //開啟檔案

switch(pexception.m_cause) //m_cause是列舉變數

{case cfileexception::none;

messagebox("沒有錯誤發生"); //這是對應none的屬性值

break; ……}

python檔案和異常處理

with open filepath,way as f f.write 資料 write 用於寫入 read 用於讀取 readlines 用於讀取檔案,以列表形式儲存 readline 逐行讀取資料 filepath是檔案的路徑 相對和絕對 way是開啟方式 預設方式為 r即讀取,還有 w 寫入,...

第10章 檔案和異常 10 2 寫入檔案

li hongliang 2020年08月12日 10.2 寫入檔案 儲存資料的最簡單的方式之一是將其寫入到檔案中。通過將輸出寫入檔案,即便關閉包含程式輸出的終端視窗,這些輸出也依然存在 你可以在程式結束執行後檢視這些輸出,可與別人分享輸出檔案,還可編寫程式來將這些輸出讀取到記憶體中並進行處理。要讓...

C 處理檔案和資料夾 讀取和寫入

檔案筆記 fileinfo 需要通過new建立 directoryinfo 需要通過new建立 可以賦值 file 靜態類不需要建立,直接通過.訪問,可以獲取檔案資訊 可以讀取file.readallbytes file.readalllines file.readalltext 和 寫入file....