- bibu,
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 } |
+0
-0