fprintf and line break

6 views (last 30 days)
Anke Kügler
Anke Kügler on 30 Aug 2016
Commented: Stephen23 on 30 Aug 2016
Hi,
I'm trying to write an array into a text file using fprintf. It's working fine on my Mac Matlab Version 2015b. However, on my work PC with a 2011 version, it is not breaking the line, but writing everything into one single line. Since I only have those two setups, it's hard for me to figure out if it is a Mac/PC or a version issue. Also, maybe I'm missing something in the syntax?
filetimenormal=fullfile(savepath,'file.txt');
ftnormal=fopen(filetimenormal, 'w');
header={'year','mm', 'dd', 'hh', 'min', 'sec', 'file', 'type'};
fprintf(ftnormal,'%s \t %s \t %s \t %s \t %s \t %s \t %s \t %s \n',header{1,:});
[nrows,ncols] = size(newtimearray);
for row = 1:nrows
fprintf(ftnormal,'%s \t %s \t %s \t %s \t %s \t %s \t %s \t %s \n' ,newtimearray{row,:});
end
Thank you!
  3 Comments
Anke Kügler
Anke Kügler on 30 Aug 2016
Geoff, yes, even the header is on the same like as the rest of the lines
Stephen23
Stephen23 on 30 Aug 2016
@Anke Kügler : the solution is to read the fopen documentation, and add the t option to the permissions string. Walter Roberson's answer is the correct solution.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 30 Aug 2016
For MS Windows, use
ftnormal=fopen(filetimenormal, 'wt');
instead of
ftnormal=fopen(filetimenormal, 'w');

Image Analyst
Image Analyst on 30 Aug 2016
Depending on the program (notepad, wordpad, MSWord, etc.) the new lines are interpreted differently. If \n is not working, try \n\r or \r\n. One of those should work.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!