Filter löschen
Filter löschen

fprintf problem printing to new line

2 Ansichten (letzte 30 Tage)
James
James am 25 Mär. 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 Kommentar
James
James am 2 Apr. 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 25 Mär. 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

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by