Bonjour ,
Je débute en Arduino et je cale sur l'utilisation de indexOf avec une sous chaine.
Ma question va être simple :
dans l'exemple suivant où je veux récupérer l'index de "?id" dans la chaine buf
la solution est-elle 4 ou 6 ?
ou l'index du premier caractère de la sous-chaine ou du dernier ?
Dans tous les autres langages ce serait 4 mais ici c'est 6 !!??
Quelqu'un peut-il m'expliquer pourquoi j'ai la réponse 6 ?
(J'ai fait l'essai avec la version 1.6.7 et 1.0.6
sur une carte UNO et MEGA
Merci
Vous êtes bien gentils tous les deux mais je n'ai pas de solutions!!
si ... je teste le "?" puis "i" puis "d"
si c'est un bug je ne comprends pas qu'il ne soit pas encore corrigé
enfin...
Vous êtes bien gentils tous les deux mais je n'ai pas de solutions!!
si ... je teste le "?" puis "i" puis "d"
si c'est un bug je ne comprends pas qu'il ne soit pas encore corrigé
enfin...
Alors là tu m'apprends quelque chose que j'ignore. Depuis des lustres je fais du php, javascript, delphi ... et suivant les cas j'utilise les " " ou ' ' .
Dans ce cas précis je ne vois pas. Je vais chercher .
Merci pour la piste.
Quand on écrit String(buf.indexOf('?id'), indexOf attend un caractère. Il y a troncature de l'argument à 8 bits donc '?id' donne 'd' et on trouve la position de 'd' soit 6
Merci pour l'info !!
Bizarre que ce ne soit pas indiqué dans la doc, et que la compil soit validée .
D'accord il y a bien un ptit ^ (sous la fermeture de parenthèse de indexOf) dans les infos de compil , comme ci-dessous
Serial.println ("Index de '?id' ="+String(buf.indexOf('?id')));
** ^**