Bonjour,

Voilà une partie du code que j ai écrit pour faire une application GTK.

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
void OnUpdate(GtkWidget *entry, gpointer data)
{
    const gchar *sText;
    gdouble diapason;
    MainWindow *pApp;
    char strdiapason[G_ASCII_DTOSTR_BUF_SIZE];
 
    pApp = (MainWindow*) data;
 
    /*Récupération de la valeur du spin button*/
    sText = gtk_entry_get_text(GTK_ENTRY(pApp->entry));
 
    /*Conversion en double*/
    diapason = g_ascii_strtod (sText, NULL);
 
    /*Ici, je fait un calcul sur diapason*/
 
    /*Conversion en string */
    g_ascii_dtostr (strdiapason, sizeof (strdiapason), diapason);
 
    gtk_label_set_text(GTK_LABEL(pApp->pLabelAffichage1[0]), strdiapason);
 
}
Je récupère dans sText une valeur décimal.
Comme je souhaite modifier cette valeur avant de l afficher dans l interface, il faut que je convertis le const gchar* en double. Ce que je fais avec g_ascii_strtod.

Le problème se passe avec g_ascii_dtostr, car je ne retrouve pas ma valeur initiale.
Pourriez vous m aiguillez s il vous plaît.

Merci par avance pour vos réponses.

Shazad