声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1289|回复: 3

[编程技巧] 文本文件写入问题

[复制链接]
发表于 2015-10-11 12:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序1:
  1. a=char('abc','efgh');          <div>fid=fopen('test.txt','wt');
  2. fprintf(fid,'%s',a);
  3. fclose(fid);</div>
复制代码

打开test.txt时为何结果是:aebfcg h  
为什么不是 abc
                  efgh
程序2:
  1. yfl=char('低档','中档');
  2. fp = fopen('tishi.txt','a');
  3. for i=1:2
  4.      fprintf(fp,'%s\n',yfl(i,:));
  5. end
  6. fclose(fp);
复制代码

原本要输出的形式为:低档
                                   中档
为何程序运行输出的形式不是这样?不是有换行了吗?把\n换成\t\n也不行,为什么呢?
如果把fprintf(fp,'%s\n',yfl(i,:));改为fprintf(fp,'\t\n%s',yfl(i,:));那么输出的结果就对了,为什么了?\t\n放在%s前后有什么不同呢?


回复
分享到:

使用道具 举报

发表于 2015-10-12 07:47 | 显示全部楼层
第一个设计数据写入顺序的问题

  1. a=char('abc','efgh'); fid=fopen('test.txt','wt');
  2. fprintf(fid,'%s',a');
  3. fclose(fid);
复制代码


a转置后写入就可以了
发表于 2015-10-12 07:54 | 显示全部楼层
第二个问题这个是由于windows记事本的问题,linux下应该是正常的
windows记事本下要换行的化,将\n改成\r\n
 楼主| 发表于 2015-10-13 08:46 | 显示全部楼层
happy 发表于 2015-10-12 07:54
第二个问题这个是由于windows记事本的问题,linux下应该是正常的
windows记事本下要换行的化,将\n改成\r\ ...

原来如此,非常感谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-18 15:16 , Processed in 0.062882 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表