Write multi-line strings into text file?

조회 수: 108 (최근 30일)
Xiaohan Du
Xiaohan Du 2018년 3월 5일
답변: Stephane 2021년 2월 12일
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!

채택된 답변

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

추가 답변 (2개)

Pawel Jastrzebski
Pawel Jastrzebski 2018년 3월 5일
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 2021년 2월 12일
You can use this oneliner to:
writematrix( strTest , 'strTestOtpt.inp' );

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by