How to combine sprintf and fprintf

3 views (last 30 days)
TheBeginner
TheBeginner on 9 Jan 2013
Hello everyone,
Here's what I want to do :
-I use fprintf to print a sentence with new lines inside, for example:
text=sprintf('%s \n %s',sentence1,sentence2);
-Then I want to save it in a .txt file with this :
file=fopen(sprintf('%s%s%s',filepath,filename,'.txt'),'w');
fprintf(file,'%s',text);
It displays what I wrote except the new line : I have in my file sentence1sentence2
Any idea on how to fix this problem?
Thank you!
  1 Comment
Jan
Jan on 9 Jan 2013
Edited: Jan on 9 Jan 2013
A more stable method to create the file name due to the consideration of file separators:
fopen(fullfile(filepath, [filename, '.txt']))

Sign in to comment.

Answers (1)

Jan
Jan on 9 Jan 2013
Edited: Jan on 9 Jan 2013
How do you test if there is no newline? You write the file in binary mode, such that CHAR(10) is used as line break. All editors I know can handle this correctly, but not the standard "Editor" of Windows. So please open the file in WordPad or Matlab's editor also.
I leave it up to others to mention the 'wt' method for fopen, because I usually warn for the eventually unexpected side-effects.
  1 Comment
TheBeginner
TheBeginner on 9 Jan 2013
Ok, when I open it with WordPad I have the new line!
But I don't really understand why the editor of Windows canno't recognize that there's a new line.
Thank you!

Sign in to comment.

Categories

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

Community Treasure Hunt

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

Start Hunting!