MATLAB Answers

filesep for window '\', which may cause sprintf doesn't work for some '\%d' string, how can i avoid ?

6 views (last 30 days)
Huang Chi-En
Huang Chi-En on 2 Jul 2020
Answered: Robert U on 2 Jul 2020
str = " \num_%d " ;
result = sprintf(str, 1) ;
the above example can not output : " \num_1 " normally.
When I use the filesep global var of matlab in window, ' \ ' will come out, which cause the sprintf dosen't work.
How can I avoid the above situation without changing the function of sprintf ?

Answers (1)

Robert U
Robert U on 2 Jul 2020
Hi Huang Chi-En,
please refer to sprintf-documentation; special characters might need different syntax. Since backslash is an escape character, you would have to use "\\" instead:
str = " \\num_%d ";
result = sprintf(str, 1);
Kind regards,
Robert

Community Treasure Hunt

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

Start Hunting!