Write multi-line strings into text file?

93 vues (au cours des 30 derniers jours)
Xiaohan Du
Xiaohan Du le 5 Mar 2018
Hi all,
I have a few lines of strings, which I'd like to write into a .inp (basically a text) file. The strings look like this:
>> strTest
strTest =
6×1 string array
"*Heading"
"** Job name: L2H1_dynamics Model name: Model-1"
"** Generated by: Abaqus/CAE 6.12-4"
"*Preprint, echo=NO, model=NO, history=NO, contact=NO"
"**"
"** PARTS"
I tried to use the following code to write it:
fid = fopen('strTestOtpt.inp', 'wt');
fprintf(fid, strTest);
fclose(fid);
got this error:
Error using fprintf
Invalid format.
I know I can probably use a loop to do this, but is there a better way? Many thanks!

Réponse acceptée

Xiaohan Du
Xiaohan Du le 5 Mar 2018
found an answer here:
code is:
fid = fopen('strTestOtpt.inp', 'wt');
fprintf(fid, '%s\n', strTest);
fclose(fid);

Plus de réponses (2)

Pawel Jastrzebski
Pawel Jastrzebski le 5 Mar 2018
You're missing the format parameter of the 'fprintf' function:
fid = fopen('strTestOtpt.inp', 'wt');
formatSpec = '%s\n'
fprintf(fid, formatSpec, strTest);
fclose(fid);

Stephane
Stephane le 12 Fév 2021
You can use this oneliner to:
writematrix( strTest , 'strTestOtpt.inp' );

Catégories

En savoir plus sur Characters and Strings 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