MATLAB Answers

oliver
0

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

Asked by oliver
on 26 Sep 2018
Latest activity Commented on by oliver
on 26 Sep 2018
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.

  1 Comment

Sign in to comment.

Products


Release

R2016b

1 Answer

Answer by Kelly Kearney
on 26 Sep 2018
 Accepted Answer

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

  1 Comment

Excellent. Elegant and short. Thanks for the quick reply.

Sign in to comment.