文档介绍:第4章 MATLAB文件操作 文件的打开与关闭 文件的读写操作 数据文件定位
文件的打开与关闭 文件的打开fopen函数的调用格式为:fid= fopen(文件名,打开方式)其中文件名用字符串形式,表示待打开的数据文件。常见的打开方式有:‘r’表示对打开的文件读数据,‘w’表示对打开的文件写数据,‘a’表示在打开的文件末尾添加数据。fid用于存储文件句柄值,句柄值用来标识该数据文件,其他函数可以利用它对该数据文件进行操作。
文件数据格式有两种形式,一是二进制文件,二是文本文件。在打开文件时需要进一步指定文件格式类型,即指定是二进制文件还是文本文件。
文件的关闭文件在进行完读、写等操作后,应及时关闭。关闭文件用fclose函数,调用格式为:sta=fclose(fid)该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回–1。
文件的读写操作 二进制文件的读写操作fread 函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:[A,COUNT]=fread(fid,size, precision)其中A用于存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,size为可选项,若不选用则读取整个文件内容,若选用则它的值可以是下列值:
(1) N表示读取 N个元素到一个列向量。(2) Inf表示读取整个文件。(3) [M,N]表示读数据到M×N的矩阵中,数据按列存放。precision代表读写数据的类型
fwrite 函数按照指定的数据类型将矩阵中的元素写入到文件中。其调用格式为:COUNT=fwrite (fid, A, precision)其中COUNT返回所写的数据元素个数,fid为文件句柄,A用来存放写入文件的数据,precision用于控制所写数据的类型,其形式与fread函数相同。
例4-1 ,用于存放5阶魔方阵。程序如下:fid=fopen(‘’,‘w’);cnt=fwrite(fid,magic(5),‘int32’);fclose(fid);
文本文件的读写操作fscanf 函数的调用格式为:[A,COUNT]= fscanf (fid, format, size)其中A用以存放读取的数据,COUNT返回所读取的数据元素个数。fid为文件句柄。format用以控制读取的数据格式,由%加上格式符组成,常见的格式符有d,f,c,s。size为可选项,决定矩阵A中数据的排列形式。
fprintf 函数的调用格式为:COUNT= fprintf(fid, format, A)其中A存放要写入文件的数据。先按format指定的格式将数据矩阵A格式化,然后写入到fid所指定的文件。格式符与fscanf函数相同。