element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum String to vector
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 5 replies
  • Answers 1 answer
  • Subscribers 393 subscribers
  • Views 461 views
  • Users 0 members are here
Related

String to vector

ritamüller
ritamüller over 10 years ago

Hi,

how can I convert from a string to a uint8_t vector in Arduino ?

 

Thx

 

Rita

  • Sign in to reply
  • Cancel
Parents
  • balearicdynamics
    0 balearicdynamics over 10 years ago

    Hello Rita,

     

    you can convert using the String object: If I am not wrong, the uint8_t corresponds to 8 bits. First create a buffer of the desired size then as one char is equivalent to one byte, try the following:

     

    byte buffer[<my string length>];
    myString = "String example 30 characters";
    
    
    
    myString.StringToCharArray(buffer,<my string length>);

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago in reply to balearicdynamics

    be sure to include an extra character / space at the end of the string for a null terminator, so for example if you want to have 30 characters for the actual string, assign 31 characters to the array

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • ritamüller
    0 ritamüller over 10 years ago in reply to Robert Peter Oakes

    Hi Peter ,

    Thanks for reply , I have this function :

    string2vector(text, aux)

    in RFID/NFC 13.5 MHz Example http://www.libelium.com/development/waspmote/examples/rfid1356-03-bus-ticketing/ i still don't know how to write this in Arduion ?

     

    Thx

     

    Rita

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago in reply to ritamüller

    this is the function you need

     

    //! Convert from a string to a pointer to uint8_t's
    /*!
    \param char inp: the string we want to convert 
    \param uint8_t outp: the transformed pointer to unit8_t's 
    \return int : returns 0 on success, -1 on failure.
    */
    int WaspRFID::string2vector(char *inp, uint8_t *outp)
    {
      for (int i=0; i<16; i++) 
      {
      outp[i] = '\0'; // write 0's first
      }
    
      if (sizeof(inp) > 16) 
      {
      return -1; // this is an error
      } 
      else 
      {
      for (int i=0; i<16; i++)
      {
      outp[i] = inp[i]; // write the content of inp
      if (inp[i] == '\0')
      break;
      }
      return 0;
      }
    }

     

    but it is already part of the library along with all the other functions the ticketing example uses, it would be simpler to use the library

     

    you can find it here https://github.com/Libelium/waspmoteapi/tree/master/libraries/RFID1356

     

    hope this helps

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Reply
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago in reply to ritamüller

    this is the function you need

     

    //! Convert from a string to a pointer to uint8_t's
    /*!
    \param char inp: the string we want to convert 
    \param uint8_t outp: the transformed pointer to unit8_t's 
    \return int : returns 0 on success, -1 on failure.
    */
    int WaspRFID::string2vector(char *inp, uint8_t *outp)
    {
      for (int i=0; i<16; i++) 
      {
      outp[i] = '\0'; // write 0's first
      }
    
      if (sizeof(inp) > 16) 
      {
      return -1; // this is an error
      } 
      else 
      {
      for (int i=0; i<16; i++)
      {
      outp[i] = inp[i]; // write the content of inp
      if (inp[i] == '\0')
      break;
      }
      return 0;
      }
    }

     

    but it is already part of the library along with all the other functions the ticketing example uses, it would be simpler to use the library

     

    you can find it here https://github.com/Libelium/waspmoteapi/tree/master/libraries/RFID1356

     

    hope this helps

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube