Problème GTK+ // C : mot de passe

Fermé
Mayusu Messages postés 43 Date d'inscription lundi 8 septembre 2014 Statut Membre Dernière intervention 27 janvier 2016 - 29 déc. 2014 à 11:15
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - 4 févr. 2015 à 22:53
Bonjour :D

Je début sur GTK+ et j'ai réussi à créer une fenêtre avec un bouton qui ouvre une autre fenêtre .. j'ai pensé à sécuriser la deuxième avec un mot de passe en utilisant un simple test "if", donc j'ai crée une zone de saisie, j'ai récupéré son contenu avec gtk_entry_get_text(GTK_ENTRY(pEntry)) .. j'ai déclaré une const gchar* qui contient le password et j'ai fait un simple if(strcmp(,)) qui compare les deux chaînes .. or ça ne marche pas et la même fenêtre s'ouvre soit en tapant un mdp correct ou non :s

A l'aide s'il vous plaît, et merci énormément d'avance :)


1 réponse

jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 86
4 févr. 2015 à 22:53
Salut, ça aurait pu être cool d'avoir un peu de code ..
Après, il y a un truc qui m'hérisse un peu les poils, c'est ton histoire de const gchar*.
Le principe d'un const est qu'il est ... const = constante donc qu'il est censé être initialisé avec une string et puis basta. Or, tu dois surement le déclarer puis puis le remplir.

Dans ton if qui laisse tout passer, essaye d'afficher les deus strings, ton fameux const gchar* et ton mdp.

Il est aussi possible que tu te sois trompé sur l'utilisation de strcmp qui retourne la différence entre les deux premières lettres différentes. Par exemple :

int bar = strcmp("ah", bh");
printf("bar = %d\n", bar); // Affichera 1


Donc, pour comparer, tu dois bien vérifier que le retour de strcmp == 0.
0