Write multi-line strings into text file?

93 views (last 30 days)
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!

Accepted Answer

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

More Answers (2)

Pawel Jastrzebski
Pawel Jastrzebski on 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 on 12 Feb 2021
You can use this oneliner to:
writematrix( strTest , 'strTestOtpt.inp' );

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!