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 : 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");
}
Merci de votre aide