仅作为尝试记录,大佬请跳过。
背景
博主查了help帮助文档中的有关打开和操作txt文件的函数、百度文库、csdn优秀博主的博文,最终用matlab逐行书写数据到txt文件【实测成功】
有三行数据,博主想将其一一逐行自动写入txt文档:
awrite=[0.939388293275100,0.260550230502723,0.123944635185685];
awrite2=[0.919725534642714,0.233355032286075,0.142918252602611];
awrite3=[0.884555289992598,0.320277027039477,0.115229965056708];
代码
1、现在文件夹里新建一个txt文件,博主命名为tempwrite.txt
2、书写的三行数据分别如上awrite、awrite2、awrite3
2、书写txt第一行的代码:
fid=fopen('tempwrite.txt','r+');
for i=1:length(awrite)
fprintf(fid,'%.4f\t',awrite3(i));
end
fclose(fid);
3、txt文件的第一行书写完后,转用下面的代码书写txt文件的其他行:
fid=fopen('tempwrite.txt','r+');
while ~feof(fid)
tline=fgetl(fid)
location=ftell(fid)
end
fseek(fid,location,'eof');
fprintf(fid,'\r\n');
for i=1:length(awrite)
fprintf(fid,'%.4f\t',awrite3(i));
end
fclose(fid);
注意 书写第一行和书写其他行的代码有区别的原因是:书写txt其他行时需要检测现有行的末端位置,并从另起的新行继续书写,否则如果不检测的话(打开后直接写的话),会写在txt的第一行的位置,覆盖掉txt原有的第一行数据;而matlab写txt第一行数据时,fopen打开txt文件后就可以直接写,本身就写在了txt的第一行。
展示
博主将matlab源代码放入资源库仅作为储存
传送门
(众博友们不用下载,资源库源代码与博文里代码完全相同,博主仅作为储存)