Bonjour,
J'ai un petit soucis de comparaison de chaîne, prenons un exemple pour l'explication :
Le problème est là, si je fait le test (str1) avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream> using namespace std; int main(int argc, char *argv[]) { string str1 = "Hello World"; if (str1 == "hello") { cout << "La chaine est ok" << endl; } else { cout << "La chaîne est pas ok" << endl; } }
- hello world = chaine ok
- hello = chaine ok
- world = chaine ok
- ni hello ni world = chaine pas ok
J'ai aussi fait le test avec str1.compare(...) et j'obtiens le même résultat.
De plus il fait pas la différence avec la casse de la chaîne.
En gros j'ai l'impression que compare ou == détecte bon si un des mots est dans la chaîne. Par contre la je sèche un peu sur la comparaison de chaîne, si possible avec string. Quelqu'un a une idée ?
PS: Je suis sur win, gcc 64 bit et CLion si cela peut aider.
Merci.
Partager