我有这个程序,我在其中打开一个文件并在其中写入数据点,但问题是我必须在循环中执行此操作。它去:
file1=importdata('myfile.txt','%s')
for k=1:1:128
fid=fopen('myfile2.txt','w+') % I write input to that file and pass it to my exe file
fprintf(fid,'input1')
fprintf(fid,'input2')
fprintf(fid,'input3')
the 4th input (input4) is being taken from a diff file.txt and
input4=sscanf(file1{k},'%s')
Val=str2double(input4)
fprintf(fid,'%.3f',Val)
fclose(fid)
[status,result]=system('command<myfile2.txt')
M= sscanf(result,'%s')
more_result=[ Val M]
Fid2=fopen(myfile3.txt,'w+')
frpintf(Fid2,'%s', more_result)
end
这是一个模糊的代码概念。然后我sscanf
得到我想要的特定值(M)的结果。
我想在另一个文件中写入 Val 和 Z,但我只得到文件中每个的最后一个值,因为fopen(fid,'w+')
在循环内不断更新。使用a+
加号并没有帮助,并且在程序运行完成后它会一直附加并且永远不会更新。
现在我正在使用a+,然后在我完成运行后手动删除该文件的内容。在循环外写入会给我错误。有没有办法在每次运行后清除文件?