Curiosité avec strcmp oumauvais codage ?
:salut:
Bon, j'ai un petit soucis avec un programme. Celui-ci fonctionne très bien :
Code:
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
| #include <iostream>
using namespace std;
void lecture_chaine(char chaine[]) {
cout << "Entrez la chaine de caractère : ";
cin >> chaine;
}
int detection(char *chaine) {
int i;
int compteur = 0;
int longueur_chaine = 0;
longueur_chaine = strlen(chaine);
for(i=0; i<longueur_chaine+1; ++i) {
cout << *(chaine+i) << endl;
if(*(chaine+i) == 'a')
++compteur;
}
return compteur;
}
int main() {
int nb_de_a = 0;
char chaine1[99];
lecture_chaine(chaine1);
nb_de_a = detection(chaine1);
cout << "Le nombre de lettre a est de : " << nb_de_a << endl;
return 0;
} |
Par contre dans la fonction détection, si je remplace mon if(*(chaine+i) == 'a') par un if(strcmp(chaine+i, "a") == 0) en ayant chargé cstring avec #include, ça fonctionne mal. Quelqu'un a-t-il une idée ?