String to const char* in Arduino?
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.
iosfreak
Updated on April 08, 2020Comments
-
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 over 12 years+1 for recognizing Arduino String class instead of c++ std::string