無論是要讀寫 ASCII 或二進制檔案,都必需先用 fopen 函數來開啟檔案,其使用語法如下:
fid = fopen(filename, permission) 其中 filename 表示欲讀寫的檔案名稱,permission 則表示欲對檔案進行的處理方式,可以是下列任一字串:
- 'r':只准讀取(reading)檔案
- 'w':只准寫入(writing)檔案
- 'a':只准加入(appending)檔案
- 'a+':可讀取及加入檔案(reading and appending)
如果我們省略 fopen 的第二個輸入引數,則 permission 的預設值就是 ‘r’。
fopen 函數傳回一個檔案辨識碼(File Identifier),通常是一個非負的整數,我們可用此辨識碼來對此檔案進行各種讀寫的處理。如果傳回的檔案辨識碼是 -1,則代表 fopen 無法開啟檔案,其原因可能是檔案不存在,或是使用者權限不足而無法開啟此檔案。若欲知無法開啟檔案的原因,可讓 fopen 傳回第二個引數來顯示錯誤訊息。為了安全起見,最好在每次使用 fopen 時,都測試其傳回的 fid 是否為有效值。在下列範例中,我們試著開啟一個不存在的檔案,並印出回傳的訊息:
由上述範例可知當檔案不存在時,回傳的 fid 是 -1,同時 message 會包含相關的錯誤資訊。若開啟成功,則傳回的 fid 是一個大於 2 的整數,而且傳回的 message 是一個空字串,例如:
一旦完成檔案的讀寫之後,可用 fclose 函數來關閉檔案,其使用語法如下:
status = fclose(fid); 若一切順利,fclose 傳回 0。若無法順利關閉檔案,則 fclose 傳回 -1。一般情況下,在完成檔案的讀寫後,即應使用 fclose 來關閉檔案,以免開啟檔案過多,造成系統資源的浪費。
若要一次關閉所有開啟的檔案,可用 fclose('all') 或是 fclose all。
MATLAB程式設計:入門篇