Matlab中如何實現(xiàn)二進制文件的讀寫.doc_第1頁
Matlab中如何實現(xiàn)二進制文件的讀寫.doc_第2頁
Matlab中如何實現(xiàn)二進制文件的讀寫.doc_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Matlab中如何實現(xiàn)二進制文件的讀寫1、文件的打開與關(guān)閉1)打開文件在讀寫文件之前,必須先用fopen函數(shù)打開或創(chuàng)建文件,并指定對該文件進行的操作方式。fopen函數(shù)的調(diào)用格式為:fid=fopen(文件名,打開方式)說明:其中fid用于存儲文件句柄值,如果返回的句柄值大于0,則說明文件打開成功。文件名用字符串形式,表示待打開的數(shù)據(jù)文件。常見的打開方式如下: r:只讀方式打開文件(默認(rèn)的方式),該文件必須已存在。 r+:讀寫方式打開文件,打開后先讀后寫。該文件必須已存在。 w:打開后寫入數(shù)據(jù)。該文件已存在則更新;不存在則創(chuàng)建。 w+:讀寫方式打開文件。先讀后寫。該文件已存在則更新;不存在則創(chuàng)建。 a:在打開的文件末端添加數(shù)據(jù)。文件不存在則創(chuàng)建。 a+:打開文件后,先讀入數(shù)據(jù)再添加數(shù)據(jù)。文件不存在則創(chuàng)建。另外,在這些字符串后添加一個“t”,如rt或wt+,則將該文件以文本方式打開;如果添加的是“b”,則以二進制格式打開,這也是fopen函數(shù)默認(rèn)的打開方式。2)關(guān)閉文件文件在進行完讀、寫等操作后,應(yīng)及時關(guān)閉,以免數(shù)據(jù)丟失。關(guān)閉文件用fclose函數(shù),調(diào)用格式為:stafclose(fid)說明:該函數(shù)關(guān)閉fid所表示的文件。sta表示關(guān)閉文件操作的返回代碼,若關(guān)閉成功,返回0,否則返回-1。如果要關(guān)閉所有已打開的文件用fclose(all)。2、二進制文件的讀寫操作1)寫二進制文件fwrite函數(shù)按照指定的數(shù)據(jù)精度將矩陣中的元素寫入到文件中。其調(diào)用格式為:COUNTfwrite(fid,A,precision)說明:其中COUNT返回所寫的數(shù)據(jù)元素個數(shù)(可缺省),fid為文件句柄,A用來存放寫入文件的數(shù)據(jù),precision代表數(shù)據(jù)精度,常用的數(shù)據(jù)精度有:char、uchar、int、long、float、double等。缺省數(shù)據(jù)精度為uchar,即無符號字符格式。例6.8 將一個二進制矩陣存入磁盤文件中。 a=1 2 3 4 5 6 7 8 9; fid=fopen(d:test.bin,wb) %以二進制數(shù)據(jù)寫入方式打開文件fid = 3 %其值大于0,表示打開成功 fwrite(fid,a,double)ans = 9 %表示寫入了9個數(shù)據(jù) fclose(fid)ans = 0 %表示關(guān)閉成功2)讀二進制文件fread函數(shù)可以讀取二進制文件的數(shù)據(jù),并將數(shù)據(jù)存入矩陣。其調(diào)用格式為:A,COUNT=fread(fid,size,precision)說明:其中A是用于存放讀取數(shù)據(jù)的矩陣、COUNT是返回所讀取的數(shù)據(jù)元素個數(shù)、fid為文件句柄、size為可選項,若不選用則讀取整個文件內(nèi)容;若選用則它的值可以是下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、M,N(讀數(shù)據(jù)到MN的矩陣中,數(shù)據(jù)按列存放)。precision用于控制所寫數(shù)據(jù)的精度,其形式與fwrite函數(shù)相同。%寫一維數(shù)據(jù)至數(shù)據(jù)文件n=0:pi/10:4*pi;y=sin(n);fip=fopen(C:binary3.bin,wb);fwrite(fip,Pxx,double);fclose(fip);%從數(shù)據(jù)文件讀取一維數(shù)據(jù)fip=fopen(C:binary3.bin,rb);SIN,num=fread(fip,2,20,double);%inf表示讀取文件中的所有數(shù)據(jù),M,N表示%將讀取的數(shù)據(jù)放置在M行N列中,N表示將讀取的數(shù)據(jù)放置在1列中fclose(fip)%寫二維數(shù)據(jù)至數(shù)據(jù)文件n=0:pi/10:4*pi;y1=sin(n);y2=sin(n);y3=0.5*sin(n);y=y1;y2;y3;fip=fopen(C:binary4.bin,wb);fwrite(fip,y,double);fclose(fip); %返回指針的值為0,則表示存儲數(shù)據(jù)正常%從數(shù)據(jù)文件讀取二維數(shù)據(jù)fip=fopen(C:binary4.bin,rb);Array_2D,num=fread(fip,inf,double);%inf表示讀取文件中的所有數(shù)據(jù),M,N表示%將讀取的數(shù)據(jù)放置在M行N列中,N表示將讀取的數(shù)據(jù)放置在1列中fclose(fip)詳細(xì)的范例如下。*%寫一維數(shù)據(jù)至數(shù)據(jù)文件n=0:pi/10:4*pi;y=sin(n);fip=fopen(C:binary3.bin,wb);fwrite(fip,Pxx,double);fclose(fip);%從數(shù)據(jù)文件讀取一維數(shù)據(jù)fip=fopen(C:binary3.bin,r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論