String to const char* in Arduino?

36,900

Solution 1

How about you use substring instead. This will be less confusing than converting between different types of string.

http://arduino.cc/en/Reference/StringSubstring

Solution 2

string has a c_str() member function that returns const char *.

Solution 3

you can do that easier. Since you're using C++:

tweet = tweet.substring(1);

substr() returns a part of the string back to you, as string. The parameter is the starting point of this sub string. Since string index is 0-based, 1 should clip off the first character.

If you want to use strstr you can just cast tweet into a c-string:

tweet = strstr( tweet.c_str(), "]" );

However, that's pretty inefficient since it returns a c-string which has to be turned into a std::string against in order to fit into tweet.

Share:
36,900
iosfreak
Author by

iosfreak

Updated on April 08, 2020

Comments

  • iosfreak
    iosfreak about 4 years

    I have a variable tweet that is a string and it has a character at the very beginning that I want to clip off.

    So what I want to do is use strstr() to remove it. Here's my code:

    tweet = strstr(tweet, "]");
    

    However, I get this error:

    cannot convert 'String' to 'const char*' for argument '1' to 
    'char' strstr(const char*, const char*)
    

    So my thought would be to convert tweet into a char. How would I go about doing so?

  • Dave Rager
    Dave Rager over 12 years
    +1 for recognizing Arduino String class instead of c++ std::string