fopen 和 fread 的用法

2021-09-13 09:54:25 字數 3324 閱讀 3850

開啟檔案或獲得有關開啟檔案的資訊

說明:

(1) fileid = fopen(filename)

開啟檔案 filename 以便以二進位制讀取形式進行訪問,

並返回等於或大於 3 的整數檔案識別符號。

matlab® 保留檔案識別符號 0、1 和 2 分別用於標準輸入、標準輸出(螢幕)和標準錯誤。如果 fopen 無法開啟檔案,則 fileid 為 -1。

(2) fileid = fopen(filename,permission)

將開啟由 permission 指定訪問型別的檔案。

(3) fileid = fopen(filename,permission,machinefmt,encodingin)

使用 machinefmt 引數另外指定在檔案中讀寫位元組或位時的順序。

可選的 encodingin 引數指定與檔案相關聯的字元編碼方案。

(4) fids = fopen(『all』)

返回包含所有開啟檔案的檔案識別符號的行向量。

為標準輸入、輸出以及錯誤而保留的識別符號不包括在內。

向量中元素的數量等於開啟檔案的數量。

(5) filename = fopen(fileid)

返回上一次呼叫 fopen 在開啟 fileid 指定的檔案時所使用的檔名。

輸出檔名將解析到完整路徑。

fopen 函式不會從檔案讀取資訊來確定輸出值。

(6) [filename,permission,machinefmt,encodingout] = fopen(fileid)

返回上一次呼叫 fopen 在開啟指定檔案時所使用的許可權、計算機格式以及編碼。

如果是以二進位制模式開啟的檔案,則 permission 會包含字母 『b』。

encodingout 輸出是乙個標準編碼方案名稱。

fopen 不會從檔案讀取資訊來確定這些輸出值。

無效的 fileid 會為所有輸出引數返回空字元向量。

輸入引數:

(1)filename - 要開啟的檔案的名稱,字元向量或字串標

要開啟的檔名稱(含副檔名),指定為字元行向量或字串標量。如果該檔案不在當前資料夾中,則 filename 必須包含完整或相對路徑。

(2)permission - 檔案訪問型別

『r』 (預設) | 『w』 | 『a』 | 『r+』 | 『w+』 | 『a+』 | 『a』 | 『w』 | …

(3)machinefmt - 讀取或寫入位元組或位的順序

『n』 (預設) | 『b』 | 『l』 | 『s』 | 『a』 | …

(4)encodingin - 字元編碼

『utf-8』 | 『iso-8859-1』 | 『windows-1251』 | 『windows-1252』 | …

(5)fileid - 已開啟檔案的檔案識別符號-整數

已開啟檔案的檔案識別符號,指定為整數。

讀取二進位制檔案中的資料

說明:

(1)a = fread(fileid)

將開啟的二進位制檔案中的資料讀取到列向量 a 中,

並將檔案指標定位在檔案結尾標記處。

該二進位制檔案由檔案識別符號 fileid 指示。

使用 fopen 可開啟檔案並獲取 fileid 值。

讀取檔案後,請呼叫 fclose(fileid) 來關閉檔案。

(2)a = fread(fileid,sizea)

將檔案資料讀取到維度為 sizea 的陣列 a 中,

並將檔案指標定位到最後讀取的值之後。

fread 按列順序填充 a。

(3)a = fread(fileid,sizea,precision)

根據 precision 描述的格式和大小解釋檔案中的值。

sizea 引數為可選引數。

(4)a = fread(fileid,sizea,precision,skip)

在讀取檔案中的每個值之後將跳過 skip 指定的位元組或位數。

sizea 引數為可選引數。

(5)a = fread(fileid,sizea,precision,skip,machinefmt)

另外指定在檔案中讀取位元組或位時的順序。

sizea 和 skip 引數是可選的。

輸入引數:

(1)fileid - 檔案識別符號(整數)

已開啟二進位制檔案的檔案識別符號,指定為整數。

使用 fread 讀取檔案之前,使用 fopen 開啟檔案並獲取 fileid。

(2)sizea - 輸出陣列的維度(inf (預設) | 整數 | 二元素行向量)

(3)precision - 要讀取的值的類和大小

(『uint8=>double』 (預設) | 字元向量或字串標量)參考文章

(4)skip - 要跳過的位元組數

(5)machinefmt - 讀取位元組的順序

『n』 (預設) | 『b』 | 『l』 | 『s』 | 『a』 | …

輸出引數:

(1)a - 檔案資料列向量 | 矩陣

檔案資料,以列向量形式返回。如果指定 sizea 引數,則 a 是指定大小的矩陣。a 中的資料為類 double,除非在 precision 引數中指定不同的類。

(2)count - 讀取的字元數(標量)

讀取的字元數,以標量值形式返回

fopen 和fclose 的用法

1 fopen 函式的用法fopen函式用於開啟檔案,其呼叫格式為 file fopen char filename,type fopen 函式中第乙個形式引數表示檔名,可以包含路徑和檔名兩部分。如 b test.dat c tc test.dat 注意 如果將路徑寫成 c tc test.dat ...

fopen 和fclose 的用法

1 fopen 函式的用法fopen 函式用於開啟檔案,其呼叫格式為 file fopen char filename,type fopen 函式中第乙個形式引數表示檔名,可以包含路徑和檔名兩部分。如 b test.dat c tc test.dat 注意 如果將路徑寫成 c tc test.dat...

fopen 和fclose 的用法

一定要養成開啟檔案到使用玩完後關閉檔案,否則該檔案後面不可用。1 fopen 函式的用法 fopen 函式用於開啟檔案,其呼叫格式為 file fopen char filename,type fopen 函式中第乙個形式引數表示檔名,可以包含路徑和檔名兩部分。如 b test.dat c tc t...