Salut
Je programme en ce momment une interface graphique avec GTK+. Dans cette interface je dispose d'un champ de saisie ou l'utilisateur entre un chiffre correspondant a une frequence. Pour recuperer ce champ GTK propose une fonction gtk_entry_get_text(GTK_ENTRY) qui est une chaine de caractere. Donc cela signifie que mon chiffre et dans la chaine de caractere
Mon pb est que je souhaite que l'utilisateur ne rentre que des valeurs entre 20 et 3000. Le programme que j'ai ecris ne marche pas car je crois que je compare une chaine avec un nombre.
Bref Je voulais donc savoir existe t-il un moyen de transformer ma chaine de caractere en un int qui lui aurais la valeur qui avais ds la chaine
ex si l'utilisateur entre 56 -> j'aurais temp=56 mais ces une chaine de caractere
moi je desir la fonction changeant temp en un int temp1=56
Merci pr vos suggestions
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 void copy_Entry(GtkWidget *Widget, gpointer Data) { const gint *temp= NULL; FILE *fichier = NULL; gint selecteur; int Resultat; temp = gtk_entry_get_text(GTK_ENTRY(Data)); // Recuperation de la chaîne g_printf("%c\n", temp); Resultat=atoi("temp"); printf("%c",Resultat); if(Data==Entry1) selecteur=1; else if (Data==Entry2) selecteur=2; switch (selecteur) // Permet de choisir dans quelle GtkEntry on se trouve { case 1: if(temp<"20") { g_printf("ERROR, Frequence trop petite\n"); gtk_entry_set_text(GTK_ENTRY(Data),"Error"); } else if(temp>"3000") { g_printf("ERROR, Frequence trop grande\n"); gtk_entry_set_text(GTK_ENTRY(Data),"Error"); } else { g_printf("%s\n", temp); fichier = fopen("fichier_data.txt","a"); if (fichier != NULL) // On peut lire et écrire dans le fichier { fprintf(fichier,"%s\n",temp); fclose(fichier); // On ferme le fichier qui a été ouvert } else // On affiche un message d'erreur { printf("Impossible d'ouvrir le fichier fichier_data.txt"); } } gtk_widget_grab_focus (GTK_WIDGET (Entry2)); // Permet de passer à la saisie suivante break;
Partager