How to write low level text to a file without interpretation

조회 수: 8 (최근 30일)
John Deer
John Deer 2019년 11월 27일
편집: Rik 2019년 11월 27일
Hello,
i want to filter a given textfile. Therefore i open a file and make a cell array with the desired lines of text.
Now i want to save the text into a textfile (*.txt).
The given lines are for example:
' -------- Iteration 0 --------'
' Masking 8% (1393) of the nominal rays'
' RMS = 21.6nm, PV = 163.9nm, d_t = 0s'
If i use fprintf, the output looks like this:
-------- Iteration 0 --------
Masking 8
RMS = 21.6nm, PV = 163.9nm, d_t = 0s
This is clearly because matlab interprets the '%'. I didn't check if other chars would be also interpretet by matlab.
I cannot modify the lines to write without investigating massive calculation-time (by checking every single line before writing).
Is there a way to write text low-level to a file without any interpretation?
Thanks

채택된 답변

Rik
Rik 2019년 11월 27일
편집: Rik 2019년 11월 27일
If you want to write a char array, you should use the fprintf('%s', txt) syntax, otherwise fprintf will interpret your input as a format specification. (don't forget to add newline characters as needed, either in the char array itself or with '%s\n')
  댓글 수: 2
John Deer
John Deer 2019년 11월 27일
편집: Rik 2019년 11월 27일
Thanks,
this works:
fprintf(fileID, '%s', InfoLine);
fprintf(fileID,'\r\n');
Rik
Rik 2019년 11월 27일
You can also merge those two:
fprintf(fileID, '%s\r\n', InfoLine);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by