Egalité entre chaine de caractère
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 :
Code:
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");
} |
Merci de votre aide :king: