Printing to text file

1 view (last 30 days)
Edward Umpfenbach
Edward Umpfenbach on 25 Aug 2012
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
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
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
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
per isakson
per isakson on 26 Aug 2012
Did you try View | Show Symbol | Show All Characters in notepad++?
Image Analyst
Image Analyst on 27 Aug 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.

Sign in to comment.


Walter Roberson
Walter Roberson on 27 Aug 2012
Open the file with 'wt' instead of 'w'

Categories

Find more on Text Data Preparation 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!