fprintf problem printing to new line

6 visualizaciones (últimos 30 días)
James
James el 25 de Mzo. de 2013
I have a problem with fprintf whereby it will not create a newline as the delimiter.
I am reading file names in from a structured array using a loop:
fid = fopen('filenameobs.txt', 'wt');
for i=1:length(filenameobs)
fprintf(fid,'%s',filenameobs(i,1).newname,'\r\n');
end
fclose(fid);
The output ends up as:
CONC_2010_09_23_02_19\r\nCONC_2010_09_25_04_54\r\nCONC_2010_09_25_21_31\r\n
rather than each file name on a new line.
I assume the issue is my loop as examples online don't seem to have the problem but I'm unsure as to how to get around it.
Any help would be appreciated! Thanks!
James
  1 comentario
James
James el 2 de Abr. de 2013
I'm now trying to print separate vector's out to a text file using similar code but I'm having similar problems. I want all values from each vector to either be on the same line or column and then the next vector to be on the next column of line respectively. My code is:
fid = fopen('statsT.txt', 'wt');
for i=1:fnox
fprintf(fid,'%s\r\n',stats(i,1).biasT,);
end
fclose(fid);
How would I alter my code to do this?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Mzo. de 2013
fprintf(fid,'%s\r\n',filenameobs(i,1).newname);
Caution: as you opened with 'wt', if you are using MS Windows, each occurrence of \n is going to automatically replaced by \r\n, so you would end up with two \r in a row.
If you want to force \r\n always, and no sometimes-present extra \r, then fopen with 'w' instead of 'wt'.
If you want \r\n to appear or not as appropriate for the operating system, open with 'wt' and use \n instead of \r\n

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by