Arduino problème fonction strcmp()

a marqué ce sujet comme résolu.

Bonjour,

Je suis débutant dans la programmation, et je suis le tuto sur l'arduino sur ce site.

Je ne comprends pas un des exercices du tuto (qui se trouve ici)

Je n'arrive pas à comprendre comment la fonction strcmp() fonctionne.

J'ai créé un petit programme qui normalement devrait m'écrire dans la console "Les chaines sont identiques" quand je tape "requin" dans la console.

Le problème c'est que le programme me sort toujours "Les chaines sont différentes".

Pouvez vous m'explique pourquoi?

Merci de votre aide.

Bibu

voici le programme:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
char mot[20];

void setup() {
  //initialisation port serie
  Serial.begin(9600);

}

void loop() {

  if(Serial.available() > 0) //si il y a des caractere a lire
  {
    lire();          //on lit
    compare(mot);    //on compare et on affiche

  }

}

void lire(void) //on lit
{
  int i = 0;

  while(Serial.available() > 0 && i < 19) //On met dans le tableau mot
  {
    mot[i] = Serial.read();
    delay(10);
    i++;
  }
  mot[i] = '\0'; //On ajoute '\0' a la fin du mot 

}

void compare(char mot[]) //on compare et on affiche
{
 int resultat = 0;  //ajout de resultat pour afficher la valeur renvoyer par la comparaison

 resultat = strcmp(mot, "requin"); //on compare les mots


 if(resultat == 0) on affiche
    Serial.print("Les chaines sont identiques"); 
else
    Serial.print("Les chaines sont différentes");


    Serial.println("");
    Serial.print(resultat); //resultat de la comparaison


}
Ce sujet est verrouillé.