fprintf and line break
显示 更早的评论
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 个评论
Geoff Hayes
2016-8-30
Anke - is this true for the header too? Is it on the same line as the data? Put a breakpoint at the second fprintf and check to see whether the newtimearray{row,:} data types make sense for the output format string.
Anke Kügler
2016-8-30
回答(2 个)
Walter Roberson
2016-8-30
For MS Windows, use
ftnormal=fopen(filetimenormal, 'wt');
instead of
ftnormal=fopen(filetimenormal, 'w');
Image Analyst
2016-8-30
0 个投票
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!