Bonjour,
Voila je suis entrain de développer un petit programme qui test le contenu d'une lineEdit par rapport à une chaine de caractère.
Pour le moment je n'utilise pas de lineEdit donc j'ai déclaré une variable de type QString dont je déclare le conteu en dur dans le source !
Mon problème c'est que lorsque je test les deux variables, leur contenus sont bien égaux mais lorsque je test avec un if() sa ne marche pas !
J'ai lu quelque part qu'apparament lors d'un tel test ce n'est pas le contenu qui est tester mais l'adresse en mémoire![]()
Pour le moment je n'ai pas trouver de solution mais si l'un d'entre vous aurait un embryon d'idée se serait le bien venu !
Voici mon code source :
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <string> #include <iostream> void Form1::init() { QString a="veux \0"; QString b="avoir\0"; QString d="'"; QString c=d+a+b+d; const char* e=(const char*) c; const char* az="'veux avoir'"; std::cout<<e<<"\n"; std::cout<<az<<"\n"; if(az==e) { printf("Succes az=e \n"); } else printf( "Echec \n"); }![]()
Partager