problème de compréhension de la fonction strcmp()

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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
52
53
54
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


}

Édité par bibu

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte