• 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. Custom IC SKILL
  3. String to array???

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 142
  • Views 9670
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

String to array???

FormerMember
FormerMember over 14 years ago

Hi,

  I want to know if there is any function that converts input string to an array???

Thanks,

C10

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Carlton,

    You can use parseString() to convert a string into a list, based on an optional separator, and then use listToVector() to convert it to an array:

    str="the quick brown fox jumps over the lazy dog"
    arr=listToVector(parseString(str))

    length(arr) => 9
    arr[0] => "the"
    arr[2] => "brown"

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 14 years ago

    Hi Andrew,

               :-) Thanks for the help.

     Regards,

    C10

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 14 years ago

    Hi,

      If str = "the quick brown fox jumps over the lazy dog"

    Is it possible that each element in the string be made to an array. ie : the[ ] should be an array. quick[ ] should be another array...so on.

    Is this possible???

    Thanks,

    C10

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Carlton,

    I have no idea what you mean. What would be the contents of the array? Are you asking that the words become variables containing arrays? Seems a rather odd requirement, so I think you'll have to clarify what you actually want (and maybe why, because I have a sneaking suspicion that you probably should be using a different data structure).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 14 years ago

     Hi Carlton,

    I agree with Andrew - if you wanted each item in the "string list" to become any array, how would you know how large to make each array (since an array has a fixed size).  Perhaps you want a table structure instead, or something else?  As Andrew also said, I think that you need to supply more details about what you are looking to achieve.

    regards,

    Lawrence

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 14 years ago

    Hi,

      I understood that the array has to be of fixed size.Maybe my previous post was not good enough to make you understand my requirement.I have converted string to array as Andrew suggested.Thats working fine..(ignore my second post).

    But I just want to know if dynamic memory allocation of array is possible in SKILL? If my posts are not precise please let me know i will try to put in some other way.

    Thanks,

    C10

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Carlton,

    That depends what you mean by dynamic memory allocation of array. You can create an array on the fly using (say) makeVector() (or indeed the declare() function, although the syntax of that makes it less obvious to most readers). So there's nothing to stop you doing:

    newArray=makeVector(N)

    or

    declare(newArray[N])

    Both do the same thing - they assign an array, of size N, into the variable newArray. You can call this repeatedly and it will dynamically allocate a new array. Once an array has been created though, it is of fixed size, as Lawrence said. There's nothing to stop you creating a new bigger one, and assigning it to the same variable (maybe after copying contents across), but that wouldn't be very efficient if you were doing it frequently. In such circumstances, you'd be better off using a list or a hash table (created using makeTable()). Both lists and tables are completely flexible in their size - they can grow or shrink as you add or remove members/elements.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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