Home > Community > Forums > PCB SKILL > % in string

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 % in string 

Last post Wed, Aug 15 2007 3:58 AM by archive. 5 replies.
Started by archive 15 Aug 2007 03:58 AM. Topic has 5 replies and 1614 views
Page 1 of 1 (6 items)
Sort Posts:
  • Wed, Aug 15 2007 3:58 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    % in string Reply

    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
    • Post Points: 0
  • Wed, Aug 15 2007 5:50 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: % in string Reply

    Try using sprintf instead of printf.


    Originally posted in cdnusers.org by cdavies
    • Post Points: 0
  • Wed, Aug 15 2007 8:23 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: % in string Reply

    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
    • Post Points: 0
  • Wed, Aug 15 2007 11:48 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: % in string Reply

    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
    • Post Points: 0
  • Thu, Aug 16 2007 6:28 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: % in string Reply

    Try this.

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


    Originally posted in cdnusers.org by cdavies
    • Post Points: 0
  • Fri, Aug 17 2007 12:29 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: % in string Reply

    Charlie,

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


    Originally posted in cdnusers.org by willbi
    • Post Points: 0
Page 1 of 1 (6 items)
Sort Posts:
Started by archive at 15 Aug 2007 03:58 AM. Topic has 5 replies.