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?

Risposte (4)

the cyclist
the cyclist il 25 Ago 2012

0 voti

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 il 26 Ago 2012

0 voti

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 il 26 Ago 2012

0 voti

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 Commenti

per isakson
per isakson il 26 Ago 2012
Did you try View | Show Symbol | Show All Characters in notepad++?
Image Analyst
Image Analyst il 27 Ago 2012
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.

Accedi per commentare.

Walter Roberson
Walter Roberson il 27 Ago 2012

0 voti

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

Categorie

Richiesto:

il 25 Ago 2012

Community Treasure Hunt

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

Start Hunting!

Translated by