fprintf problem printing to new line

조회 수: 5 (최근 30일)
James
James 2013년 3월 25일
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
James
James 2013년 4월 2일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2013년 3월 25일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by