声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4485|回复: 4

[编程技巧] 请教关于输出文件的换行问题

[复制链接]
发表于 2006-12-15 12:14 | 显示全部楼层 |阅读模式

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

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

x
大家好!
我用了下面一段命令:

x = 0:.1:1;
y = [x; exp(x)];
fid = fopen('exp.txt','w');
fprintf(fid,'%6.2f %12.8f\n',y);
fclose(fid)

是希望输出:

0.00    1.00000000
0.10    1.10517092
...
1.00    2.71828183

但是实际在文本文件中查看到的不是分行的,而是连续的.换行符是用方块代替的.

请教各位这是什么原因,该如何解决?

谢谢!
回复
分享到:

使用道具 举报

发表于 2006-12-15 13:33 | 显示全部楼层
可能是文件里面字符的编码问题

你试试用ultraEditor打开看看

评分

1

查看全部评分

发表于 2006-12-15 22:18 | 显示全部楼层
那就要看文件以前保存的是什么格式了,如果文件是象这种格式:
0.00    1.00000000
0.10    1.10517092
...
1.00    2.71828183
保存的,那么就能原样读出来.
你读出来的是连续的,那么只能说明该文件就是保存成连续的格式的.如果你能在文件中准确定位,也是能按你的要求读出的.
发表于 2007-1-12 12:39 | 显示全部楼层
fid = fopen('exp.txt','w');


当你写程序的时候,你没有使用文本方式open文件,matlab就采用默认的二进制方式写入,当你用工具打开的时候,却使用记事本(文本方式),结果当然不是你希望要的。你可以使用写字板或者UltraEdit这些工具打开,能正确显示。不过最好的方法是编程的时候用以下语句代替:
  1. fid = fopen('exp.txt','wt');
复制代码

[ 本帖最后由 eight 于 2007-1-12 12:40 编辑 ]
发表于 2009-5-4 18:11 | 显示全部楼层
学习了,谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-13 22:00 , Processed in 0.071085 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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