• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. % in string

Stats

  • Replies 5
  • Subscribers 158
  • Views 13582
  • Members are here 0
More Content

% in string

archive
archive over 18 years ago

Hello all

I have a deviceType containing a %
RSMD0603_1/16W-33,1%

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.


Originally posted in cdnusers.org by willbi
  • Sign in to reply
  • Cancel
  • archive
    archive over 18 years ago

    Try using sprintf instead of printf.


    Originally posted in cdnusers.org by cdavies
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 18 years ago

    axlUIWPrint acts just like a printf, so there is no need for the statusTxt variable

    use this instead:
    axlUIWPrint(nmForm "%s:%s [%s]" refdes rDev rPath)

    no error will occur, but it will not show the "%" character


    Originally posted in cdnusers.org by natebizu
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 18 years ago

    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 .....


    Originally posted in cdnusers.org by willbi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 18 years ago

    Try this.

    statusTxt = sprintf(nil "%s:%s [%s]" refdes rDev rPath)
    axlUIWPrint(nmForm statusTxt)


    Originally posted in cdnusers.org by cdavies
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • archive
    archive over 18 years ago

    Charlie,

    I got the same error with your proposal. Never mind.
    Thanks.


    Originally posted in cdnusers.org by willbi
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information