中易网

matlabfprintf输出txt只有最后一行,如何解决一个cell的输出?

答案:2  悬赏:20  
解决时间 2021-11-08 20:53
  • 提问者网友:南佳人~
  • 2021-11-08 02:47
old=inputdlg('请输入要替换的单字','输入要替换的字',1)
new=inputdlg('请输入要替换成的单字','输入要替换成的字',1)
lastline=size(handles.text);%统计行数
for line=1:1:lastline(1)
curline=handles.text{line};
title=strrep(curline,old,new);
l=size(title);
for a=1:l(1)
fid = fopen('newfile.txt','wt');
fprintf(fid,'%s\n\r',title{a,:});
fclose(fid);
end
end

问题出在哪里?
最佳答案
  • 二级知识专家网友:猖狂的痴情人
  • 2021-11-08 02:53
把fopen和fclose放在循环外
old=inputdlg('请输入要替换的单字','输入要替换的字',1)
new=inputdlg('请输入要替换成的单字','输入要替换成的字',1)
lastline=size(handles.text);%统计行数
fid = fopen('newfile.txt','wt');
for line=1:1:lastline(1)
   curline=handles.text{line};
   title=strrep(curline,old,new);
   l=size(title);
   for a=1:l(1)

    fprintf(fid,'%s\n\r',title{a,:});

   end
end
fclose(fid);
全部回答
  • 1楼网友:蜜罐小熊
  • 2021-11-08 04:10
save保存的数据是以科学计数法的方式存储的;fprintf和dlmwrite则是可以选择存储数据的方式,fprintf的格式设置跟c语言中的用法一致,dlmwrite可以设置有效位位数,比如上面实例中6表示有效位位数是6位,dlmwrite中对数据中的小数就采用浮点数存储,整数就采用整型存储形式。 在使用时,可根据自己实际情况的需要选择适合的一种。个人觉得matlab本身的这种以科学计数法来表示数据,有时不方便于查看。还有一点就是fprintf是按照矩阵列存储。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息