Write multi-line strings into text file?

89 Ansichten (letzte 30 Tage)
Xiaohan Du
Xiaohan Du am 5 Mär. 2018
Beantwortet: Stephane am 12 Feb. 2021
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!

Akzeptierte Antwort

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

Weitere Antworten (2)

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

Kategorien

Mehr zu Characters and Strings 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