matlab中文件操作

在读写文件之前,必须先用fopen命令打开一个文件,并指定容许对文件进行的操作。文件结束后,应及时关闭文件,以免数据的丢失或误删改。

fopen函数的调用格式为:

           fid=fopen(文件名,打开方式)

其中,文件名用字符串形式表示带打开的数据文件,常见的有‘r'’(read)‘w'(write);’a'表示在文件末尾添加数据。fid用于储存文件句柄值。其他函数可以利用它对数据文件进行操作。

文件数据格式有两种形式:一是二进制文件;二是文本文件。在打开文件时需要进一步指定文件格式类型,既指定是二进制文件还是文本文件。

2.文件的关闭

文件在进行完读,写等操作后,应该及时关闭以保证文件的安全和可靠,其调用格式为

            sta=fclose(fid);

该函数关闭fid文件所表示的文件,sta表示关闭文件操作的返回代码,若关闭成功,返回为0,否则返回-1;

文件的读写操作

1)读二进制文件

fread函数可以读取二进制文件的数据,并将数据存入矩阵中,其调用的格式为:

            [A,count]=fread(fid,size,precision)

其中,A用于存放读取数据,count返回读取文件的个数,fid为句柄。size为可选项,若不选用则读取整个文件内容,若选用则他的值可以是下列值;

(1)N:表示读取n个元素到一个列向量。

(2)inf:表示读取整个文件。

(3)[M,N]:表示读数据结构到M*N的矩阵中,数据按列存放。

precision代表读写数据的类型。

FID=fopen(‘std.dat','r');

A=fread(Fid,100,’long‘);

sta=fclose(Fid);

2)写二进制文件

   fwrite函数按照指定的数据类型将矩阵中的元素写入到文件中,其调用格式为

        COUNT=fwrite(fid,A,precision)

其中A是用来存放写入文件的数据,其他的可以类比。

fid=fopen('std.dat','r');

cnt=fwrite(fid,magic(5),'int32');

fclose(fid);


   文本文件的读写操作

1)读文本文件

fscanf函数的调用格式为

[A,COUNT]=fscanf(fid,format,size)

其中,A用以存放读取的数据,COUNT返回所读取的数据个数,fid为文件句柄,format用以控制读取文件的数据格式,由%加上格式符组成,常见的有’d',‘s',’c',’f',size为可选项,决定矩阵A中的数据排列方式。

2)写文本文件

fprintf函数可以将数据按指定的格式写到文本文件中,其调用的格式为

     COUNT=fprintf(fid,format,A)

其中,A存放要写入文件的数据,先按照fomat指定的格式将数据矩阵A格式化,写入到fid所指定的文件,格式要与fscanf函数相同。

       数据文件的定位

与文件定位操作有关的函数fseek和ftell,fseek函数用于定位文件位置的指针。

status=fseek(fid,offset,origin)其中,fid为文件句柄,offset表示位置指针相对移动的字节数。若为正整数表示向文件尾方向移动,若为负数。。。origin表示位置指针移动的参照物。其有三种选择,cof和bof和cof。ftell函数返回文件指针的当前位置,,其调用格式为 position=ftell(fid);

返回值为从文件开始到指正当前位置的字节数,若返回值为-1表示获取当前位置失败。




 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值