Arduino Forum

International => Français => Topic started by: Moi036 on Apr 17, 2019, 04:33 pm

Title: If : comparer le texte d'une variable à un texte.
Post by: Moi036 on Apr 17, 2019, 04:33 pm
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
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: dbrion06 on Apr 17, 2019, 04:39 pm
Regardez du côté de strcmp https://www.eit.lth.se/fileadmin/eit/courses/edi021/avr-libc-user-manual/group__avr__string.html#g46f3cbd2de457c0fb340a1f379fc33ba  (https://www.eit.lth.se/fileadmin/eit/courses/edi021/avr-libc-user-manual/group__avr__string.html#g46f3cbd2de457c0fb340a1f379fc33ba)
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: lesept on Apr 17, 2019, 04:42 pm
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 (http://www.cplusplus.com/reference/cstring/strcmp/)
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: Moi036 on Apr 17, 2019, 04:56 pm
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 (http://www.cplusplus.com/reference/cstring/strcmp/)
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


Title: Re: If : comparer le texte d'une variable à un texte.
Post by: lesept on Apr 17, 2019, 05:05 pm
Vas voir les liens proposés :

Quote
0   the contents of both strings are equal
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: dbrion06 on Apr 17, 2019, 05:17 pm
strcmp ne rend 0 que si les deux chaînes sont égales (permet ainsi de classer par ordre alphabêtique les chaînes)
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: fdufnews on Apr 17, 2019, 05:17 pm
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?
Title: Re: If : comparer le texte d'une variable à un texte.
Post by: Moi036 on Apr 17, 2019, 06:10 pm
Tu as lu les liens que l'on t'a indiqués?
oui, merci beaucoup, pb résolu.