How to write low level text to a file without interpretation

8 vues (au cours des 30 derniers jours)
John Deer
John Deer le 27 Nov 2019
Modifié(e) : Rik le 27 Nov 2019
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

Réponse acceptée

Rik
Rik le 27 Nov 2019
Modifié(e) : Rik le 27 Nov 2019
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 commentaires
John Deer
John Deer le 27 Nov 2019
Modifié(e) : Rik le 27 Nov 2019
Thanks,
this works:
fprintf(fileID, '%s', InfoLine);
fprintf(fileID,'\r\n');
Rik
Rik le 27 Nov 2019
You can also merge those two:
fprintf(fileID, '%s\r\n', InfoLine);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Migrate GUIDE Apps 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