第10章档案与资料夹处理.ppt
《第10章档案与资料夹处理.ppt》由会员分享,可在线阅读,更多相关《第10章档案与资料夹处理.ppt(30页珍藏版)》请在三一文库上搜索。
1、第10章 檔案與資料夾處理,10-1 C語言的檔案輸入與輸出 10-2 文字檔案的讀寫 10-3 二進位檔案的讀寫 10-4 檔案與資料夾處理,10-1 C語言的檔案輸入與輸出-說明,檔案(Files)是儲存在電腦周邊裝置的位元組資料集合,通常是儲存在軟式或硬式磁碟機的資料,程式可以將輸出的資料儲存在檔案中保存,或是將檔案視為輸入資料讀取檔案內容,輸出到控制台或印表機。 在檔案儲存的位元組資料可能被解譯成字元、數值、整數、字串或資料庫的記錄,取決於C程式開啟的檔案存取類型。C語言標準函式庫的檔案輸入與輸出(File Input/Output,簡稱File I/O)函數可以處理二種檔案類型:文字
2、和二進位檔案。,10-1 C語言的檔案輸入與輸出-文字檔案,文字檔案儲存的是字元資料,文字檔案視為一種文字串流(Text Stream),串流可以想像成水龍頭流出的是一個個字元,換句話說,處理文字檔案只能向前一個個循序處理字元,也稱為循序檔案(Squential Files),如同水往低處流,並不能回頭處理之前處理過的字元。 文字檔案擁有讀取(Input)、寫入(Output)和新增(Append)三種操作,可以將字元資料寫入檔案、寫入檔尾與讀取文字檔案的內容,例如:Windows記錄檔或使用【記事本】建立的是一種文字檔案。,10-1 C語言的檔案輸入與輸出-二進位檔案,以作業系統的角度來說,
3、儲存在磁碟機的二進位(Binary)檔和文字檔案並沒有什麼不同,C語言標準函式庫存取的二進位檔是指沒有處理過的位元組(Bytes)資料,即二進位串流(Binary Stream),其特性是寫入和讀出檔案的資料完全相同。 當檔案以二進位檔案方式開啟,資料並不會作任何格式轉換(主要是指處理換行和檔案的結束字元),讀取的是位元組資料,不過在C程式可以將它轉換成字元資料,換句話說,讀取的資料是字元或位元組,全憑程式如何解釋它。,10-2 文字檔案的讀寫,10-2-1 開啟與關閉文字檔案 10-2-2 讀寫字串到文字檔案 10-2-3 讀寫字元到文字檔案 10-2-4 格式化讀寫文字檔案,10-2-1
4、開啟與關閉文字檔案-函數說明,在C語言開啟和關閉檔案,都是使用標頭檔宣告的FILE檔案指標來識別開啟的檔案(因為在同一個C程式可以開啟多個檔案),相關函數說明如下表所示:,10-2-1 開啟與關閉文字檔案-範例,在程式只需宣告FILE指標變數fp,就可以使用fopen()函數開啟檔案,如下所示: FILE *fp; fp = fopen(“filename“, “w“); 上述函數的第1個參數是檔案名稱或檔案的完整路徑(請注意!路徑符號在某些作業系統需要使用逸出字元,例如:“C:C+test.c“),第2個參數是檔案開啟模式字串。,10-2-1 開啟與關閉文字檔案-開啟模式,文字檔案支援的開啟
5、模式,如下表所示:,10-2-1 開啟與關閉文字檔案-檢查是否開啟成功,如果fopen()函數傳回NULL表示檔案開啟失敗,可以使用if條件檢查檔案指標,如下所示: if ( fp = NULL ) printf(“錯誤: 檔案開啟失敗n“); exit(1); 上述if條件檢查檔案指標變數fp,如果是NULL就表示檔案開啟錯誤,所以顯示錯誤訊息,接著使用標頭檔的exit()函數強迫結束程式執行,exit()函數的參數是傳給作業系統,如為非零值,表示程式執行發生錯誤。,10-2-1 開啟與關閉文字檔案-關閉檔案,最後在執行完檔案操作後,執行fclose()函數關閉檔案,如下所示: fclose
6、(fp); 上述函數的參數就是欲關閉檔案的FILE指標變數。,10-2-2 讀寫字串到文字檔案-函數說明,在C程式使用fopen()函數成功開啟檔案後,就可以執行檔案處理函數寫入或讀取文字檔案內容,從檔案讀寫字串的相關函數說明,如下表所示:,10-2-2 讀寫字串到文字檔案-範例,在C程式的文字檔案讀寫,可以使用fputs()函數寫入字串到文字檔案,如下所示: fputs(line , fp); 上述函數將字串line寫入檔案指標fp。讀取檔案內容可以使用fgets()函數配合while迴圈讀取整個檔案內容,如下所示: while( fgets(line, 50 ,fp) != NULL )
7、上述while迴圈以一次一行的方式讀取檔案,每一行最多為50-1即49個字元,直到fgets()函數傳回NULL為止,也就是到達檔尾。,10-2-3 讀寫字元到文字檔案-函數說明,類似第4章的putchar()和getchar()字元輸出和輸入函數,檔案I/O也提供讀寫字元的putc()和getc()函數,如下表所示:,10-2-3 讀寫字元到文字檔案-範例,在C程式寫入字元到文字檔案可以使用putc()函數,如下所示: putc(lineij , fp); 上述程式碼將二維字元陣列的lineij元素寫入檔案fp。如果使用getc()函數讀取整個檔案內容,一樣是配合while迴圈讀取,如下所示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 档案 资料夹 处理
链接地址:https://www.31doc.com/p-2576635.html