0
我有這個程序,我打開一個文件並在其中寫入數據點,但問題是我必須在循環內部執行此操作。它是:在寫入數據之後,有沒有辦法清除文件上下文?
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+
plus並沒有幫助,並且它在程序運行完成後會一直追加並永不更新。
現在我正在使用a +,然後手動刪除該文件的內容後,我完成了運行..循環外給我錯誤。 有沒有辦法在每次運行後清除文件?
當我把它放在外面時,只保存文件中當循環達到極限時的最後一點 – user1850791 2013-03-07 00:55:57
我已經更新了答案,因爲那裏有更好的格式化選項 – 2013-03-07 01:22:13