How to combine sprintf and fprintf

3 Ansichten (letzte 30 Tage)
TheBeginner
TheBeginner am 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 Kommentar
Jan
Jan am 9 Jan. 2013
Bearbeitet: Jan am 9 Jan. 2013
A more stable method to create the file name due to the consideration of file separators:
fopen(fullfile(filepath, [filename, '.txt']))

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jan
Jan am 9 Jan. 2013
Bearbeitet: Jan am 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 Kommentar
TheBeginner
TheBeginner am 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!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by