xjimm 发表于 2007-11-14 21:41

关于向txt文件追加数据的问题

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

[ 本帖最后由 eight 于 2007-11-15 10:31 编辑 ]

xjimm 发表于 2007-11-15 09:56

后来换成 save D:\P_vtec.dat -append v1 -ascii -double
可以写入数据,但是每次更换工作目录,写入运算结果时总是覆盖D:\P_vtec.dat里面原来的数据,这该怎么办????

eight 发表于 2007-11-15 10:32

原帖由 xjimm 于 2007-11-15 09:56 发表 http://www.chinavib.com/forum/images/common/back.gif
后来换成 save D:\P_vtec.dat -append v1 -ascii -double
可以写入数据,但是每次更换工作目录,写入运算结果时总是覆盖D:\P_vtec.dat里面原来的数据,这该怎么办????

用 fopen ,然后用 a 参数。具体请自行 help 一下

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 -ascii -double

fclose(fidin);
fclose(fid)
%每次计算出结果,用save命令写入指定目录文件时,还是把原来的数据给覆盖了,也就是说只能显示一行数据,help也不知道问题出在哪里,请高人帮忙看看

eight 发表于 2007-11-15 16:52

原帖由 xjimm 于 2007-11-15 16:43 发表 http://www.chinavib.com/forum/images/common/back.gif
cd 。。。。%每次运算后都要改目录,读取其他的数据
fidin=fopen('temp.txt','r');   
   fid=fopen('D:\P_vtec.dat','a');   
。。。。。。。。。。。。。。。。
save D:\P_vtec.dat D_D -append - ...
为何一定要用save?建议到精华区看看相关帖子

white 发表于 2008-1-30 17:20

clear
fid=fopen('file1.txt','a');
for i=1:2
    a=;
    fprintf(fid,'%d\t',a*i); fprintf(fid,'\n');
end
status=fclose(fid);
我试了一下,用上面的方法就可以。
执行几次试一下,就知道每次都是把数据添加到文件尾。
这里边关键的地方应该是fopen()函数中的参加参数'a'吧,它表示打开已存在的文本文件或建立一个新的文本文件,在文件的结尾添加内容。

mwhrf 发表于 2008-2-15 08:59

谢谢,精华区都是需要阅读权限为10才能看阿,晕

mshua001 发表于 2008-2-15 09:18

怎么不试试fwrite呀,乱说的不要见笑!

mwhrf 发表于 2008-2-15 09:26

有个问题,如果我要输出一个等式,也就是比如说前面需要加上 "X="这个字符,后面再是结果,怎么定义?

white 发表于 2008-3-8 11:28

原帖由 mwhrf 于 2008-2-15 09:26 发表 http://www.chinavib.com/forum/images/common/back.gif
有个问题,如果我要输出一个等式,也就是比如说前面需要加上 "X="这个字符,后面再是结果,怎么定义?

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

ChaChing 发表于 2008-3-9 14:38

save命令中参数-append仅适用MAT-file
同时使用-ascii及-append参数, 是无效的
没错应该使用fprintf即可

F117_ren_0 发表于 2008-3-10 17:35

fopen
fprintf
就可以解决问题
页: [1]
查看完整版本: 关于向txt文件追加数据的问题