matlab中fprintf,多次fopen,fclose,数据会覆盖,怎么让数据接着写下去?

想把一堆数据放到一个文本文件中,但matlab中fprintf,多次fopen,fclose,数据会覆盖,怎么让数据接着写下去?
如:
x = 1;

fid = fopen('exp.txt', 'wt');
fprintf(fid, '%d %d\n', x);
fclose(fid);
y = 2;
fid = fopen('exp.txt', 'wt');
fprintf(fid, '%d %d\n', y);
fclose(fid);

第一次结果是1,但是第二次2覆盖1,只有2,怎样把1,2都写出来?

只用一次fopen,fclose是可以,但是有没有一种继续写的格式,如c++中的
ofstream fout("result.txt",ios::out);
fout<<***;
这样所有数据都写在result.txt中,且不覆盖

%by dynamic
%see also http://www.matlabsky.com
%contact me [email protected]
%2009.2.
%

o 这个比较简单只要你在打开文件时 使用追加模式打开文件就可以了

如下设置
fid = fopen('exp.txt', 'at+');

这样就不会覆盖原来的只是在后面追加你需要的内容
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-18
你好!
把第二个fopen里的wt换成a即可
关于a
w
r
+之类的意义和c语言里是一样的
希望对你有所帮助,望采纳。
第2个回答  2009-02-26
把第二个fopen里的wt换成a即可

关于a w r +之类的意义和c语言里是一样的
相似回答