How to combine sprintf and fprintf

3 次查看(过去 30 天)
TheBeginner
TheBeginner 2013-1-9
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 个评论
Jan
Jan 2013-1-9
编辑:Jan 2013-1-9
A more stable method to create the file name due to the consideration of file separators:
fopen(fullfile(filepath, [filename, '.txt']))

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2013-1-9
编辑:Jan 2013-1-9
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 个评论
TheBeginner
TheBeginner 2013-1-9
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!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by