声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2499|回复: 11

[综合讨论] 关于向txt文件追加数据的问题

[复制链接]
发表于 2007-11-14 21:41 | 显示全部楼层 |阅读模式

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

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

x
请问怎么把计算所得的数值数据存到指定路径下的txt文件中(date文件也可),而且更换工作目录后,计算所得的新数值要追加写入到该文件中,save命令可以吗?知道需要用‘-append’命令,可是总是不能成功。。。。
save('D:\P_vtec.mat','-append','D_D')
D_D是一个(1*2)的数组

[ 本帖最后由 eight 于 2007-11-15 10:31 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-11-15 09:56 | 显示全部楼层
后来换成 save D:\P_vtec.dat -append v1 -ascii -double
可以写入数据,但是每次更换工作目录,写入运算结果时总是覆盖D:\P_vtec.dat里面原来的数据,这该怎么办????
发表于 2007-11-15 10:32 | 显示全部楼层
原帖由 xjimm 于 2007-11-15 09:56 发表
后来换成 save D:\P_vtec.dat -append v1 -ascii -double
可以写入数据,但是每次更换工作目录,写入运算结果时总是覆盖D:\P_vtec.dat里面原来的数据,这该怎么办????


用 fopen ,然后用 a 参数。具体请自行 help 一下
 楼主| 发表于 2007-11-15 16:43 | 显示全部楼层
cd 。。。。%每次运算后都要改目录,读取其他的数据  
  fidin=fopen('temp.txt','r');   
   fid=fopen('D:\P_vtec.dat','a');   
。。。。。。。。。。。。。。。。
  save D:\P_vtec.dat D_D -append -ascii -double

fclose(fidin);
fclose(fid)
%每次计算出结果,用save命令写入指定目录文件时,还是把原来的数据给覆盖了,也就是说只能显示一行数据,help也不知道问题出在哪里,请高人帮忙看看
发表于 2007-11-15 16:52 | 显示全部楼层
原帖由 xjimm 于 2007-11-15 16:43 发表
cd 。。。。%每次运算后都要改目录,读取其他的数据  
  fidin=fopen('temp.txt','r');   
   fid=fopen('D:\P_vtec.dat','a');   
。。。。。。。。。。。。。。。。
  save D:\P_vtec.dat D_D -append - ...

为何一定要用save?建议到精华区看看相关帖子
发表于 2008-1-30 17:20 | 显示全部楼层
clear
fid=fopen('file1.txt','a');
for i=1:2
    a=[4 5 6];
    fprintf(fid,'%d\t',a*i); fprintf(fid,'\n');
end
status=fclose(fid);
我试了一下,用上面的方法就可以。
执行几次试一下,就知道每次都是把数据添加到文件尾。
这里边关键的地方应该是fopen()函数中的参加参数'a'吧,它表示打开已存在的文本文件或建立一个新的文本文件,在文件的结尾添加内容。
发表于 2008-2-15 08:59 | 显示全部楼层
谢谢,精华区都是需要阅读权限为10才能看阿,晕
发表于 2008-2-15 09:18 | 显示全部楼层
怎么不试试fwrite呀,乱说的不要见笑!
发表于 2008-2-15 09:26 | 显示全部楼层
有个问题,如果我要输出一个等式,也就是比如说前面需要加上 "X="这个字符,后面再是结果,怎么定义?
发表于 2008-3-8 11:28 | 显示全部楼层
原帖由 mwhrf 于 2008-2-15 09:26 发表
有个问题,如果我要输出一个等式,也就是比如说前面需要加上 "X="这个字符,后面再是结果,怎么定义?


在相应位置加上:fprintf(fid,'x=');这里“x=”就当做字符输出到文件中了。
如上面的例子中:
fid=fopen('file1.txt','a');
for i=1:2
    a=[4 5 6];
    fprintf(fid,'a=');fprintf(fid,'%d\t',a*i); fprintf(fid,'\n');
end
输出为:a=4 5 6
              a=8 10 12

评分

1

查看全部评分

发表于 2008-3-9 14:38 | 显示全部楼层
save命令中参数-append仅适用MAT-file
同时使用-ascii及-append参数, 是无效的
没错应该使用fprintf即可
发表于 2008-3-10 17:35 | 显示全部楼层
fopen
fprintf
就可以解决问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-12 06:51 , Processed in 0.075090 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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