Chaîne à const char * dans Arduino?

J’ai un tweet variable qui est une chaîne et il a un caractère au tout début que je veux couper.

Donc ce que je veux faire, c’est utiliser strstr() pour le supprimer. Voici mon code:

 tweet = strstr(tweet, "]"); 

Cependant, j’obtiens cette erreur:

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

Donc, ma pensée serait de convertir le tweet en personnage. Comment pourrais-je m’y prendre?

Et si vous subssortingng plutôt une subssortingng ? Ce sera moins déroutant que la conversion entre différents types de chaînes.

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

ssortingng a une fonction membre c_str() qui retourne const char * .

vous pouvez le faire plus facilement. Depuis que vous utilisez C ++:

 tweet = tweet.subssortingng(1); 

substr () vous renvoie une partie de la chaîne, sous forme de chaîne. Le paramètre est le sharepoint départ de cette sous-chaîne. Étant donné que l’index de chaîne est basé sur 0, 1 doit extraire le premier caractère.

Si vous voulez utiliser strstr, vous pouvez simplement convertir un tweet en c-ssortingng:

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

Cependant, c’est assez inefficace car il retourne une c-ssortingng qui doit être transformée en std :: ssortingng pour pouvoir tenir dans un tweet.

En utilisant l’instruction suivante, tweet.c_str() renvoie le tampon de chaîne, ce qui vous permettra d’effectuer l’édition souhaitée.

Regarder:

 ssortingng.indexOf(val) ssortingng.indexOf(val, from) 

Paramètres

 ssortingng: a variable of type Ssortingng val: the value to search for - char or Ssortingng from: the index to start the search from 

Voir cette page

Je sais que c’est une vieille question, mais si vous essayez, par exemple, de comparer un caractère spécifique, et pas seulement une lettre dans une chaîne, vous voulez une chaîne .charAt (n). Par exemple, si vous effectuez une programmation en série et que vous devez vérifier STX (\ 02), vous pouvez utiliser le code suivant.

 char STX = '\02' if (inputSsortingng.charAt(0) == STX) { doSomething(); }