Matlab文件操作
2016-07-08 13:08
429 查看
1、 Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。
2、 fid=fopen(文件名,打开方式)
3、 fid 为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于 0,则表示文件打开成功;若打开失败,fid 的返回值为 -1。
fid=fopen('output.txt','wt+');
fprintf(fid,'Hello world!\n');
fclose(fid);
4、 有两个标准代码文件,不需打开就可以直接使用,分别为:fid=1 标准输出文件,fid=2 标准错误文件。
fprintf(1,'Hello world!\n');
fprintf(2,'Hello world!\n');
5、 若不指定打开方式,则表示只读。
6、 文件有两种格式:二进制文件(b)和文本文件(t)。
6、在Windows下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符 't'。
fid=fopen('output.txt','wt+');
7、 其中 fid 为所要关闭的文件的句柄,status 为关闭文件的返回代码,若关闭成功则为 0,否则为 -1。
status=fclose(fid);
8、 文本文件的读取
[A,count]=fscanf(fid,format,size)
A 用来存放读取的数据
count 返回读取数据的个数,为可选项
fid 为文件句柄
size 为可选项,缺省为读取整个文件,
若给出,则取值可以是:
format 用来控制读取的数据格式,由 % 加上格式符组成,下表中是常见的格式符,在 % 之后可以加上数据宽度,如 %12d
9、文本文件的写入
count=fprintf(fid,format,输出变量列表)
将输出变量按指定的格式写入文件中
若省略 fid,则表示在屏幕上输出
count 返回所写入的数据元素个数(可省)
format 以 % 开头,通常由以下几个部分组成:
l fprintf 命令的格式说明符
l format 中还可以使用的特殊字符
10、读写的定位
打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。
在读写文件时,Matlab 自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。
Matlab 提供了几个文件位置指针定位操作函数:fseek、ftell 、 frewind 和 feof
Fseek:
status=fseek(fid,offset,origin)
fid 为文件句柄
offset 表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移
origin 表示位置指针移动的参照位置,有三种取值:
'cof' 表示当前位置,
'bof' 表示文件的开始位置,
'eof' 表示文件末尾;
若定位成功,status 返回值为 0,否则返回 -1
ftell、frewind 和 feof:
返回值为从文件开始到指针当前位置的字节数:position=ftell(fid)
将位置指针返回到文件的起始位置:frewind(fid)
判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回 1,否则返回 0:eofstat=ftell(fid)
参考:http://www.cnblogs.com/longdouhzt/archive/2013/01/29/2881749.html
2、 fid=fopen(文件名,打开方式)
'r' | 只读,文件必须存在(缺省的打开方式) |
'w' | 写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个 |
'a' | 在文件末尾添加,文件若不存在则新建一个 |
'r+' | 可读可写,文件必须存在 |
'w+' | 可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个 |
'a+' | 可读可写可添加,文件若不存在则新建一个 |
fid=fopen('output.txt','wt+');
fprintf(fid,'Hello world!\n');
fclose(fid);
4、 有两个标准代码文件,不需打开就可以直接使用,分别为:fid=1 标准输出文件,fid=2 标准错误文件。
fprintf(1,'Hello world!\n');
fprintf(2,'Hello world!\n');
5、 若不指定打开方式,则表示只读。
6、 文件有两种格式:二进制文件(b)和文本文件(t)。
6、在Windows下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符 't'。
fid=fopen('output.txt','wt+');
7、 其中 fid 为所要关闭的文件的句柄,status 为关闭文件的返回代码,若关闭成功则为 0,否则为 -1。
status=fclose(fid);
8、 文本文件的读取
[A,count]=fscanf(fid,format,size)
A 用来存放读取的数据
count 返回读取数据的个数,为可选项
fid 为文件句柄
size 为可选项,缺省为读取整个文件,
若给出,则取值可以是:
N | 读取 N 个数据到一个列向量 |
Inf | 读取整个文件 |
[m,n] | 读取 m ´ n 个数据到一个 m ´ n 矩阵中,按列存放 |
c | 字符型 | g | 浮点数(自动) |
d | 十进制整数 | o | 八进制 |
e | 浮点数(科学计数法) | s | 字符串 |
f | 浮点数(小数形式) | x | 十六进制 |
count=fprintf(fid,format,输出变量列表)
将输出变量按指定的格式写入文件中
若省略 fid,则表示在屏幕上输出
count 返回所写入的数据元素个数(可省)
format 以 % 开头,通常由以下几个部分组成:
l fprintf 命令的格式说明符
c | 字符型 | g | 浮点数(自动) |
d | 十进制整数 | o | 八进制 |
e | 浮点数(科学计数法) | s | 字符串 |
f | 浮点数(小数形式) | x/X | 十六进制 |
\b | 退后一格 | \t | 水平制表符 |
\f | 换页 | \\ | 反斜杠 |
\n | 换行 | '' | 单引号 |
\r | 回车 | %% | 百分号 |
打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。
在读写文件时,Matlab 自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。
Matlab 提供了几个文件位置指针定位操作函数:fseek、ftell 、 frewind 和 feof
Fseek:
status=fseek(fid,offset,origin)
fid 为文件句柄
offset 表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移
origin 表示位置指针移动的参照位置,有三种取值:
'cof' 表示当前位置,
'bof' 表示文件的开始位置,
'eof' 表示文件末尾;
若定位成功,status 返回值为 0,否则返回 -1
ftell、frewind 和 feof:
返回值为从文件开始到指针当前位置的字节数:position=ftell(fid)
将位置指针返回到文件的起始位置:frewind(fid)
判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回 1,否则返回 0:eofstat=ftell(fid)
参考:http://www.cnblogs.com/longdouhzt/archive/2013/01/29/2881749.html
相关文章推荐
- matlab自学经验成果分享 如何在命令行窗口一次输入多行命令
- matlab自学经验成果分享 向0取整的函数
- matlab自学经验成果分享 取复数的实部的函数
- matlab自学经验成果分享 求取字符串中各个字符的ASCII码
- matlab学习笔记之求解线性规划问题和二次型问题
- Matlab2012B Windows 安装详细教程
- [Matlab]未能加载文件或程序集“xx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。 Source: mscorlib HelpLink
- LibLinear(SVM包)使用说明之(二)MATLAB接口
- 【VS开发】【智能语音处理】MATLAB 与 音频处理 相关内容摘记
- Matlab中的随机数
- Matlab- 路径添加
- 低维数据通过核函数映射到高维空间(Gaussian Radial Basis Function)
- matlab学习笔记之基础知识(一)
- matlab自学经验成果分享 字符串的倒序输出
- matlab自学经验成果分享 两个字符串连接
- matlab自学经验成果分享 查找字符串中是否存在指定字符
- matlab自学经验成果分享 输出单引号
- matlab自学经验成果分享 正无穷与负无穷如何表示
- matlab自学经验成果分享 同时修改矩阵的多个元素
- matlab自学经验成果分享 将字符串中的特定字符替换成特定字符