1. 程式人生 > >MATLAB——檔案I/O大全(1)

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)