Accompany 发表于 2015-10-11 12:07

文本文件写入问题

程序1:a=char('abc','efgh');          <div>fid=fopen('test.txt','wt');
fprintf(fid,'%s',a);
fclose(fid);</div>
打开test.txt时为何结果是:aebfcg h
为什么不是 abc
                  efgh
程序2:
yfl=char('低档','中档');
fp = fopen('tishi.txt','a');
for i=1:2
   fprintf(fp,'%s\n',yfl(i,:));
end
fclose(fp);
原本要输出的形式为:低档
                                 中档
为何程序运行输出的形式不是这样?不是有换行了吗?把\n换成\t\n也不行,为什么呢?
如果把fprintf(fp,'%s\n',yfl(i,:));改为fprintf(fp,'\t\n%s',yfl(i,:));那么输出的结果就对了,为什么了?\t\n放在%s前后有什么不同呢?


happy 发表于 2015-10-12 07:47

第一个设计数据写入顺序的问题

a=char('abc','efgh'); fid=fopen('test.txt','wt');
fprintf(fid,'%s',a');
fclose(fid);

a转置后写入就可以了

happy 发表于 2015-10-12 07:54

第二个问题这个是由于windows记事本的问题,linux下应该是正常的
windows记事本下要换行的化,将\n改成\r\n

Accompany 发表于 2015-10-13 08:46

happy 发表于 2015-10-12 07:54
第二个问题这个是由于windows记事本的问题,linux下应该是正常的
windows记事本下要换行的化,将\n改成\r\ ...

原来如此,非常感谢
页: [1]
查看完整版本: 文本文件写入问题