How can I write an unformated string to file, i.e., without interpreting % and any other special characters

25 vues (au cours des 30 derniers jours)
I am trying to write strings (after some manipulation) from 1 file to another (line by line). These strings may contain things like "%" or other special characters. How can I write them to file and tell Matlab NOT to interpret them as placeholders or special characters but as plain text?
The obvious but awkward way would be to loop through all possible special chars and escape them one by one but I was hoping for a more elegant solution, e.g., a simple
fprint(fid,STRING,'interpreter','none')
that simply writes the string to file instead of an
fprintf(fid,STRING)
that looks for placeholders in STRING and tries to replace them. Thanks.

Réponse acceptée

Kelly Kearney
Kelly Kearney le 26 Sep 2018
You can pass the string as a parameter to a simple '%s' formatter, rather than using the string itself as a format:
>> fprintf('%s\n', 'Print this literally %s\n')
Print this literally %s\n

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by