做网站域名要自己注册吗,wordpress post_id,高端的网站设计费用,泰安市卓创网络科技有限公司格式化读写文件
matlab提供了对数据文件建立、打开、读取、写入、关闭等操作的函数。
数据文件可以分为两类#xff1a;
文本文件#xff1a;以ASCII码形式存储的文本文件#xff1b;编码基于字符定长#xff0c;译码相对容易二进制文件#xff1a;以二进制形式存储的文…格式化读写文件
matlab提供了对数据文件建立、打开、读取、写入、关闭等操作的函数。
数据文件可以分为两类
文本文件以ASCII码形式存储的文本文件编码基于字符定长译码相对容易二进制文件以二进制形式存储的文本文件编码是变长的存储灵活、效率高节省空间对应比较精确的数据二进制存储不会造成有效位的缺失
基本的文件操作函数
打开和关闭文件fopen、fclose格式化读写fscanf、fprintf文件定位与状态fseek、ftell、feof、ferror、frewind
(类似c语言)
1.文件的打开
fileID fopen(fileName);
打开文件filename以便以二进制方式进行读取并返回等于或大于3的整数文件标识符作为文件句柄如果文件无法的打开、不存在fopen()函数返回-1并且设置错误标志。matlab保留文件标识符0、1、2分别用于标准输入、输出、错误输出。
fileID fopen(fileName,permisssion);
打开由permission指定访问类型的文件
permission参数文件访问类型
‘r’以只读方式打开文件文件必须存在。‘w’以写方式打开文件如果文件不存在则创建新文件如果文件存在则覆盖原有文件。‘a’以追加方式打开文件如果文件不存在则创建新文件如果文件存在则在文件末尾追加内容。‘r’以读写方式打开文件文件必须存在。‘w’以读写方式打开文件如果文件不存在则创建新文件如果文件存在则覆盖原有文件。‘a’以读写方式打开文件如果文件不存在则创建新文件如果文件存在则在文件末尾追加内容。‘A’:打开文件以追加但不自动刷新当前输出缓存区‘W’:打开文件以写入但不自动刷新当前输出缓存区
2.文件的关闭
fclose(fileID);
关闭由fileID指定的文件。成功关闭文件后文件标识符fileID将变为-1。
fclose(‘all’);
关闭所有打开的文件。
status fclose(fileID);
关闭由fileID指定的文件并返回0表示成功-1表示失败。
3.文本文件的读写
fprintf;
此MATLAB函数按列顺序将formatSpec应用于数组A1,……,An的所有元素并将结果写入到一个文本文件。formatSpec是一个格式字符串它指定了输出的格式。
fprintf(fileID,formatSpec,A1,…,An);
按列顺序将formatSpec应用于数组A1,……,An的所有元素并将结果写入到由fileID指定的文件中。
fprintf(formatSpec,A1,…,An);
设置数据的格式并在屏幕上显示结果
formatSpec特殊字符 %d有符号整数 %f浮点数使用精度操作符指定小数点后的位数例如%f表示3.14159%.2f表示3.14 %s字符串字符向量或字符串数组 %c字符 %e指数形式的浮点数科学计数法如3.14159e00 %%输出一个%符号 \n换行符 \t制表符 \b退格符 \r回车符 \v垂直制表符 \ \输出一个反斜杠
例子
x0:0.1:1;
A[x;exp(x)];
fidfopen(data.txt,w);
fprintf(fid,%6s %12s\n,x,exp(x));
for ii1:size(x,2)fprintf(fid,%6.2f %12.8f\n,A(1,ii),A(2,ii));
end
fclose(fid);x0:0.1:1;
A[x;exp(x)];
fileIDfopen(data.txt,w);
fprintf(fileID,%6s %12s\n,x,exp(x));
% 写入一行字符串
fprintf(fileID,%6.2f %12.8f\n,A);
% 写入浮点数矩阵
fclose(fileID);例2
arand(10);
fidfopen(rand1.txt,w);
fprintf(fid,%f\n,a);
fclose(fid);for ii1:10arand(10);filenamestrcat(rand,num2str(ii),.txt);fidfopen(filename,w);fprintf(fid,%f\n,a);fclose(fid);
end更详细的语法参考help文件
格式化操作符转换字符可选操作符字段宽度
Afscanf(fileID,formatSpec);
将打开的文本文件中的数据读取到列向量A中。并根据formatSpec指定的格式进行转换。fsacnf函数在整个文件中重新应用该格式并将文件指针定位在该文件结尾标记处如果无法将formatSpec与文件中的数据匹配将会只读取匹配的部分并停止处理该文本文件由文件标识符fileID指定必须先使用fopen()函数打开文件指定字符编码以及获取fid值。读取文件后必须使用fclose()函数关闭文件。
Afscanf(fileIDformatSpecsizeA);
将打开的文本文件中的数据读取到维度为sizeA的数组A中。并将文件指针定位到最后读取的值之后。sancf按列顺序填充A
例子
fidfopen(data.txt,r);
formatSpec%d %f;
Afscanf(fid,formatSpec);sizeA[2 Inf];
Afscanf(fid,formatSpec,sizeA);
AA.;
fclose(fid);其他文本读写函数
Ctextscan(filenameformatSpecN):从文本或字符串读取格式化数据tlinefgets(fileID):从文件中读取一行文本数据并保留换行符tlinefgetl(fileID):从文件中读取一行文本数据并删除换行符
文件读取中信息的获取
status fseek(fileID,offset,origin)
fseek函数定位文件位置指针fileID为文件句柄offset为偏移量表示位置指针相对移动的字节数若为正整数则向后移动若为负整数则向前移动origin为起始位置有三种取值‘bof’、‘cof’、‘eof’分别表示文件开头、当前位置、文件结尾若定位成功返回0若定位失败返回-1
position ftell(fileID)
ftell函数返回文件位置指针的当前位置单位为字节数返回值为从文件开始到当前位置的字节数若文件标识符fileID无效返回-1
eoftesfeof(fileID)
feof函数测试指定文件是否设置了EOF标记,若设置了EOF标记返回1否则返回0
frewind(fileID)
frewind函数将文件位置指针定位到文件开头