I have a deviceType containing a %
I want to use it with other informations on a status area of a form.
So I use this function:
printf(statusTxt "%s:%s [%s]" refdes rDev rPath)axlUIWPrint(nmForm statusTxt)
But I got this message
E- *Error* fprintf/sprintf: illegal format spec. - "R8:RSMD0603_1/16W-33,1% [lhc_1tfbk(sch_1):page1_i3->clock_distr1(sch_1):page1_i109]"
If I removed the % in rDev, it works.
Then the % is the problem.
How can I do to avoid this?
I tried with a strcat, but not better.
Thanks in advance.
Try using sprintf instead of printf.
axlUIWPrint acts just like a printf, so there is no need for the statusTxt variableuse this instead:axlUIWPrint(nmForm "%s:%s [%s]" refdes rDev rPath)no error will occur, but it will not show the "%" character
Of Course Charlie, I was using sprintf. It was a bad select of copy/paste, I forgot the s.Thanks natebizu for the tip.But to avoid this error, I removed the % in the string before Print it.So the solution has the same behaviour as you said: the % is not displayed!So my code shows a devicetype for a refdes to allow the selection in a list of all devicetypes in the BRD and the one shown is then not the same than the one in the list.Nice thing to remove what disturbs... like Allegro that does not support the "!" in text .....
Try this.statusTxt = sprintf(nil "%s:%s [%s]" refdes rDev rPath)axlUIWPrint(nmForm statusTxt)
Charlie,I got the same error with your proposal. Never mind.Thanks.