write string in text file

478 views (last 30 days)
Ronaldo
Ronaldo on 24 Dec 2013
Edited: cui,xingxing on 27 Apr 2024
How can I write some strings in text file (each strinng in one line)? example:
Happy
New
Year

Accepted Answer

Image Analyst
Image Analyst on 24 Dec 2013
Edited: Image Analyst on 27 Dec 2013
Try this:
fid = fopen('ny.txt','wt');
fprintf(fid, 'Happy\nNew\nYear');
fclose(fid);
  1 Comment
Image Analyst
Image Analyst on 24 Dec 2013
Edited: Image Analyst on 27 Dec 2013
Or, if your strings are in variables,
fid = fopen('ny.txt','wt');
fprintf(fid, '%s\n%s\n%s', string1, string2, string3);
fclose(fid);

Sign in to comment.

More Answers (5)

cui,xingxing
cui,xingxing on 5 Sep 2022
Edited: cui,xingxing on 27 Apr 2024
hi, if you use latest matlab 2022a, you can use new matlab build-in function WRITELINES
-------------------------Off-topic interlude, 2024-------------------------------
I am currently looking for a job in the field of CV algorithm development, based in Shenzhen, Guangdong, China,or a remote support position. I would be very grateful if anyone is willing to offer me a job or make a recommendation. My preliminary resume can be found at: https://cuixing158.github.io/about/ . Thank you!
Email: cuixingxing150@gmail.com

Walter Roberson
Walter Roberson on 24 Dec 2013
fid = fopen('ny.txt','wt');
fprintf(fid, 'Happy\New\n');
fprintf(fid,, 'Year\n');
fclose(fid)
  2 Comments
Ronaldo
Ronaldo on 24 Dec 2013
What I see in the text file is
HappyYear
What I want to see is
Happy
Year
Ronaldo
Ronaldo on 24 Dec 2013
Edited: Ronaldo on 27 Dec 2013
The correct one is
fid = fopen('ny.txt','wt');
fprintf(fid, 'Happy\n');
fprintf(fid, 'New\n');
fprintf(fid, 'Year\n');
fclose(fid)
Anyway, so many thanks for your great help.

Sign in to comment.


Dinesh Satelkar
Dinesh Satelkar on 9 Feb 2017
How i can write extracted text in text file

Ali
Ali on 3 Aug 2017
Is there a way to use save function to do that simple job? I could never get why an intuitive write in matlab needs such an un-intuitive function F-Print-F.
  1 Comment
Image Analyst
Image Analyst on 3 Aug 2017
That's just the name of it. It matches the name used in other languages like C, Java, etc. The save() function does not write custom formatted strings out to a text file like fprintf() does. The save() function saves variables in a binary, proprietary fashion.

Sign in to comment.


Ali
Ali on 3 Aug 2017
Edited: Ali on 3 Aug 2017
Thanks for the comments. Save has a -ascii option which is supposed to do what I need. But now that you know about matlab, could you please comment on my question here: write multiple lines of text into a text file ?
  1 Comment
Walter Roberson
Walter Roberson on 3 Aug 2017
"Each variable must be a two-dimensional double array."
Character strings are not double array. double() of the string is done internally and that is written, getting back results such as
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02 9.2000000e+01 1.1000000e+02 1.1900000e+02 1.1100000e+02 1.1400000e+02 1.0800000e+02 1.0000000e+02
for 'hello\nworld'

Sign in to comment.

Categories

Find more on Characters and Strings 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!