Go Down

Topic: If : comparer le texte d'une variable à un texte. (Read 113 times) previous topic - next topic

Moi036

Bonjour, je travaille pour mon projet bac et je suis bloqué sur un point :

Je dois recevoir un sms contenant seulement du texte, si ce texte est le même que celui enregistré dans le programme alors nous envoyons le sms2. ça ne fonctionne pas, pas de message d'erreur pour autant, tout est bien déclaré.
Je reçois bien le bon message, j'ai fais le test avec le
Code: [Select]
Serial.println(messagerecu)

voici ce que j'ai fais :

Code: [Select]
 if (messagerecu == "jelocalisemonprojet") {
          sim808.sendSMS(PHONE_NUMBER,sms2);  }


Merci


lesept

En effet, si ton message est un tableau de caractères (c-string ou char[]), la comparaison se fait avec strcmp, voici un autre lien
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Moi036

En effet, si ton message est un tableau de caractères (c-string ou char[]), la comparaison se fait avec strcmp, voici un autre lien
Merci, j'ai essayé ça mais ça n'a pas marché :

  if (strcmp (message,"jelocalisemonsac") == 1) {
          sim808.sendSMS(PHONE_NUMBER,"test N°4'45.68");  }

Ensuite j'ai remplacé le 1 par un 0 et là ça marche !
Mais je ne comprends pas, 1 veut bien dire OUI pour une équivalence et 0 pour NON ? Ou je me trompe ?

Merci



lesept

Vas voir les liens proposés :

Quote
0   the contents of both strings are equal
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

dbrion06

strcmp ne rend 0 que si les deux chaînes sont égales (permet ainsi de classer par ordre alphabêtique les chaînes)

fdufnews

Ensuite j'ai remplacé le 1 par un 0 et là ça marche !
Mais je ne comprends pas, 1 veut bien dire OUI pour une équivalence et 0 pour NON ? Ou je me trompe ?
Tu as lu les liens que l'on t'a indiqués?

Moi036


Go Up