Printing to text file

Pretty simple. I want to print this to a text file:
4
1
2
3
4
but instead I am getting this:
41234
Here's my code:
z = 4;
fid = fopen([mnl_data_path, 'packages.txt'], 'w');
a = num2str(z);
fprintf(fid,'%s\n',a);
for j = 1:1:z
a = num2str(j);
fprintf(fid,'%s\n',a);
end
fclose(fid);
Why isn't it printing to a new line?

Answers (4)

the cyclist
the cyclist on 25 Aug 2012

0 votes

Strange. I get each digit on a separate line, as you intend.
I am using the prerelease of R2012b, on a Mac running OSX 10.6.8.
Edward Umpfenbach
Edward Umpfenbach on 26 Aug 2012

0 votes

Well I'm not sure what to do. It's definitely updating the file each time (if I change it to z = 5), I see "512345" printed to the text file.
2010a Windows 7
Edward Umpfenbach
Edward Umpfenbach on 26 Aug 2012

0 votes

Nevermind. When I open with notepad I see "41234". When I open with notepad++, I see
4 1 2 3 4
So I guess it is not Matlab, it is notepad.

2 Comments

Did you try View | Show Symbol | Show All Characters in notepad++?
Try wordpad. I think wordpad and notepad behave differently with regards to how they interpret \n and \r\n. You can know for sure what's there if you have access to an editor that can view in hex format.

Sign in to comment.

Walter Roberson
Walter Roberson on 27 Aug 2012

0 votes

Open the file with 'wt' instead of 'w'

Categories

Tags

Asked:

on 25 Aug 2012

Community Treasure Hunt

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

Start Hunting!