文件操作是一种重要的输入输出方式,Matlab 提供了一系列输入输出函数,专门用于文件操作。
Matlab中的输入输出函数是以 C语言标准库函数中的输入输出函数为基础开发的,所以这些函数与 C语言的输入输出函数相类似。
Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。
文件的打开
fid=fopen(文件名,打开方式)
其中文件名用字符串形式表示(可以带路径名)
常见的打开方式
r | 只读,文件必须存在(缺省的打开方式) |
---|---|
w | 写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个 |
a | 在文件末尾添加,文件不存在则新建一个 |
r+ | 可读可写,文件必须存在 |
w+ | 可读可写,若文件已存在则原内容将被覆盖;若文件不存在就重写一个 |
a+ | 可读可写可添加,文件若不存在就重写一个 |
fid为文件句柄,其他函数可以用它对该文件进行操作,如果句柄值大于0,则文件打开成功,若打开失败,fid的返回值为-1
fid=fopen('output.txt','wt+');
fprintf(fid,'Hello world!\n');
fclose(fid);
若不指定打开方式,则表示只读
文件有两种格式,二进制文件(b)和文本文件(t)
在windows下,打开文化的默认是二进制格式,如果要以文本文件的方式打开,则必须在打开方式中加上“t”
fid=fopen('output.txt','wt+');
文件的关闭
status=fclose(fid);
其中 fid 为所要关闭的文件的句柄,status 为关闭文件的返回代码,若关闭成功则为 0,否则为 -1
文本文件的读取
[A,count]=fscanf(fid,format,size)
A用来存放读取的数据
count返回读取数据的个数,为可选项
fid为文件句柄
size为可选项,缺省为读取整个文件,若给出,则取值可以是
N | 读取N个数据到一个列向量 |
---|---|
Inf | 读取整个文件 |
[m,n] | 读取mn个数据到一个mn矩阵中,按列存放 |