- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 文件的打开与关闭 4.2 文件的读写操作 4.3 其它文件相关函数 4.1 文件的打开与关闭 fopen函数 fopen函数打开一个文件并对返回这个文件的文件标识数。 fid = fopen(filename, permission) [fid, message] = fopen(filename, permission) [fid, message] = fopen(filename,permission, format) 其中filename是要打开的文件名, premission用于指定打开文件的模式, format是一个字符串,指定文件中数据的数字格式。 如果文件被成功打开,在这个语句执行之后,fid将为一个正整数,message将为一个空字符。 如果文件打开失败,在这个语句执行之后,fid将为-1,message将为解释错误出现的字符串。 注:文件应在MATLAB的当前目录或搜索路径上,或在文件名中给定文件路径, 否则MATLAB找不到 permisson选项见下表 例: 1.为输入二进制数据而打开文件example.dat。 fid = fopen(example.dat,r) 2.以文本输出打开文件outdat。 fid = fopen(outdat,wt) fid = fopen(outdat,at) 3.打开文件junk,可以对它进行二进制输入和输出。 fid = fopen(junk, r+) fid = fopen(junk,w+) fclose函数 fclose函数用于关闭一文件。它的形式为 status = fclose(fid) status = fclose(all) 其中fid为文件标识,status是操作结果, 如果操作成功,status为0,如果操作失败,status为-1。 函数status = fclose(all)关闭了所有的文件。如果所有的文件关闭成功,status将为0,否则为-1 4.2 文件的读写操作 二进制文件读写操作 fwrite函数 函数fwrite以自定义格式把二进制数据写入文件。 它的形式为: count = fwrite(fid, array, precision) count = fwrite(fid, array, precision skip) 其中fid是用于fopen打开的一个文件的文件标识,array是写出变量的数组,count是写入文件变量的数目。precision用于控制精度,选择性参数skip指定在每一次写入输出文件之前要跳过的字节数。 注:MATLAB以列顺序输出数据 参数precision字符串用于指定输出数据的格式 fread函数 函数fread读取用用户自定义格式从一文件中读取二进制数据。 它的格式如下: [array, count] = fread(fid, size, precision) [array, count] = fread(fid, size, precision, skip) 其中fid是用于fopen打开的一个文件的文件标识,array是包含有数据的数组,count是读取文件中变量的数目,size是要读取文件中变量的数目。 参数precision和skip在函数fread和函数fwrite中有相同的意义。 参数size用于指定读取文件中变量的数目。这个参数有三种形式。 n准确地读取n个值。执行完相应的语句后,array将是一个包含有n个值的列向量 Inf读取文件中所有值。执行完相应的语句后,array将是一个列向量,包含有从文件所有值。 [n,m]从文件中精确定地读取n×m个值。array是一个n×m的数组。 如果fread到达文件的结尾,而输入流没有足够的位数写满指定精度的数组元素,fread就会用最后一位的数填充,或用0填充,直到得到全部的值。 例: 建立一数据文件magic5.dat,按二进制存放5阶魔方阵。并用fread 读取。 程序如下: clear all fid=fopen(magic5.dat,w); cnt=fwrite(fid,magic(5),int32); fclose(fid); fid=fopen(magic5.dat,r) [array,count]=fread(fid,[5,5],int32); fclose(fid); 文件的格式化读写操作1. 文件的格式化输出 fprintf把以户自定义格式编写的格式化数据写入一
文档评论(0)