MATLAB——檔案I/O大全(1)
低階檔案I/O指令
低階檔案I/O指令與C語言裡的I/O類似,命令格式類似
命令 | 說明 | 命令 | 說明 |
---|---|---|---|
fopen | 開啟檔案或獲取已開啟檔案的資訊 | fscanf | 按指定格式讀入檔案中資料 |
fclose | 關閉檔案 | fprintf | 按指定格式將資料寫回檔案 |
fread | 以二進位制方式讀入檔案中的資料 | fwrite | 以二進位制方式將資料寫回檔案 |
feof | 測試游標是否達到檔案末尾 | ferror | 查詢檔案操作錯誤 |
fopen
fopen的常用命令格式如下:
-fileID = fopen(filename)
-fileID = fopen(filename,permission)
fileID >= 3,0、1、2分別給了MATLAB標準輸入、標準輸出、標準錯誤檔案
若fileID = -1,說明檔案開啟錯誤
fileID還要作為其他I/O指令的引數,才能真正讀取檔案內容
更多內容,請在MATLAB輸入 help fopen檢視聯機幫助
fscanf
讀txt檔案
fscanf的常用命令如下:
A = fscanf(fileID,formatSpec)
A = fscanf(fileID,formatSpec,sizeA)
formatSpec是格式,如%d-十進位制讀入、%s-字串、%c-字元
sizeA是矩陣A的大小,[2 inf]表示2行n列,注意是先按列讀取
fprintf
寫txt檔案,或者是列印資料到螢幕
fprintf(fileID,formatSpec,A1,…,An) 寫txt檔案
fprintf(formatSpec,A1,…,An) 列印到螢幕
如:
formatSpec = ‘你的年齡是%d,你的身高是%f,名字是%s,你有%d個孩子,大兒子%d歲,小兒子%d歲’
fprintf(formatSpec, [50], [180.5], [李雷], [2, 24, 18])
–你的年齡是50,你的身高是180.5,名字是李雷,你有2個孩子,大兒子24歲,小兒子18歲
fread
讀二進位制檔案
常用的命令格式:
A = fread(fileID)
A = fread(fileID,sizeA)
A = fread(fileID,sizeA,precision)
A = fread(fileID,sizeA,precision,skip)
引數precision是資料精確度,比如:’uint’無符號整數,32位
引數skip是跳過的位的數目,預設是0
注意:先按列讀取
fwrite
寫二進位制檔案
常用的命令格式:
fwrite(fileID,A)
fwrite(fileID,A,precision)
fwrite(fileID,A,precision,skip)