在MATLAB中处理文件读写的函数有多个,像Load、Save命令能处理MATLAB本身创建的简单格式文件的读写;
而imread、imwrite命令可方便地读写一些常用图像格式文件;
但对一般化的文件读写,还是要靠Fread、Fwrite等低级文件I/O命令来处理。
成功关闭文件将返回0,失败将返回-1
模式含义'r'打开文件读'r+'打开文件读写'w'删除已存在的文件的内容或新建一文件,并打开文件写'w+'删除已存在的文件的内容或新建一文件,并打开文件读写'a'打开一个新文件或已有文件,在文件结尾处添加内容'a+'打开一新文件或一已有文件读写,在文件结尾处添加内容
文件可以按文本格式打开,只要打开模式中带上字符t,此时,行分隔符在从文件读出时自动删除,写入文件时自动添加;
文件也可按二进制方式打开,只要打开模式中带上字符b,此时进行文件读写不会对分隔符进行处理。
成功打开文件后,返回的文件指针是一个非负整数,如打开失败,返回-1。
示例:
fid=fopen('mytest.mat','r') [fid,message]=fopen('data.txt','rt')1.2.
1.读:[A,count]=fread(fid,size,precision,skip)
2.写:count=fwrite(fid,A,precision,skip)
3.示例
t=1:100; fid1=fopen('test.mat','wb+'); count=fwrite(fid1,t,'int'); fclose(fid1); fid2=fopen('test.mat','rb') A1=fread(fid2,[5,4],'int') A2=fread(fid2,5,'int',4) status=fclose('all')1.2.3.4.5.6.7.8.
1.读:[A,count]=fscanf(fid,format,size)
2.写:count=fprintf(fid,format,A,…)
3.示例
t=1:5; s1=sin(t); s2=cos(t); s=[t;s1;s2]; fid1=fopen('test.dat','wt'); fprintf(fid1,'\nThis is a Formated file\n'); fprintf(fid1,'\n%4d %+12.5E %+12.5E\n',s); fclose(fid1); fid2=fopen('test.dat','rt'); [A1,count1]=fscanf(fid2,'%s',5); [A2,count2]=fscanf(fid2,'%4d %e %e',[3,inf]); A2=A2'; fclose(fid2);1.2.3.4.5.6.7.8.9.10.11.12.13.
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删