Effacer les filtres
Effacer les filtres

write string in text file

432 vues (au cours des 30 derniers jours)
Ronaldo
Ronaldo le 24 Déc 2013
Modifié(e) : cui,xingxing le 27 Avr 2024
How can I write some strings in text file (each strinng in one line)? example:
Happy
New
Year

Réponse acceptée

Image Analyst
Image Analyst le 24 Déc 2013
Modifié(e) : Image Analyst le 27 Déc 2013
Try this:
fid = fopen('ny.txt','wt');
fprintf(fid, 'Happy\nNew\nYear');
fclose(fid);
  1 commentaire
Image Analyst
Image Analyst le 24 Déc 2013
Modifié(e) : Image Analyst le 27 Déc 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);

Connectez-vous pour commenter.

Plus de réponses (5)

cui,xingxing
cui,xingxing le 5 Sep 2022
Modifié(e) : cui,xingxing le 27 Avr 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 le 24 Déc 2013
fid = fopen('ny.txt','wt');
fprintf(fid, 'Happy\New\n');
fprintf(fid,, 'Year\n');
fclose(fid)
  2 commentaires
Ronaldo
Ronaldo le 24 Déc 2013
What I see in the text file is
HappyYear
What I want to see is
Happy
Year
Ronaldo
Ronaldo le 24 Déc 2013
Modifié(e) : Ronaldo le 27 Déc 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.

Connectez-vous pour commenter.


Dinesh Satelkar
Dinesh Satelkar le 9 Fév 2017
How i can write extracted text in text file
  1 commentaire
Image Analyst
Image Analyst le 9 Fév 2017
With fprintf().

Connectez-vous pour commenter.


Ali
Ali le 3 Août 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 commentaire
Image Analyst
Image Analyst le 3 Août 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.

Connectez-vous pour commenter.


Ali
Ali le 3 Août 2017
Modifié(e) : Ali le 3 Août 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 commentaire
Walter Roberson
Walter Roberson le 3 Août 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'

Connectez-vous pour commenter.

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by