Write to file inside a loop
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I have this program where I open a file and write data points in it but the problem is I have to do that inside a loop. it goes:
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
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
Then I sscanf the results to get the a specific value (M) that I want. and I want to write Val and Z in another file but I only get the last value of each in the file. because fopen(fid,'w+') keep updating inside the loop. using a+ plus doesn't help and it keeps appending and never updates after the program is done running. RIght now I am using a+ then I manually delete the content of that file after i'm done running..writing outside the loop gives me error. is there a way I can clear the file after each run? Thanks
0 comentarios
Respuestas (2)
  Walter Roberson
      
      
 el 7 de Mzo. de 2013
        Use 'a+' to append. You can delete() the file when appropriate, and 'a+' will create it if need be.
0 comentarios
  Mini Me
 el 7 de Mzo. de 2013
        2 comentarios
  Walter Roberson
      
      
 el 7 de Mzo. de 2013
				What is the difference between "only save the last data points" and "want it only to update after everytime I run it" ?
Ver también
Categorías
				Más información sobre Startup and Shutdown en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

