[GTK/C] Callback et structures
Fermé
Ariane-M
-
3 juin 2012 à 19:18
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 4 juin 2012 à 20:26
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 4 juin 2012 à 20:26
A voir également:
- [GTK/C] Callback et structures
- Trouvez l'erreur dans la structure du document et corrigez-la. - Forum Word
- Unison gtk - Télécharger - Gestion de fichiers
- Gtk vs sdl ✓ - Forum Audio
- [Gtk+] - Forum Programmation
- GTK Selfimage - Télécharger - Divers Utilitaires
1 réponse
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
4 juin 2012 à 20:26
4 juin 2012 à 20:26
Bonjour,
Comme indiqué gtk_entry_get_text retourne un pointeur (une adresse vers les données contenues dans l'entry) il vous est alors possible de copier les données en utilisant ce pointeur dans un tableau de gchar ou char (c'est la même chose).
https://www.gtk.org/api/2.6/glib/glib-Basic-Types.html#gchar
Ce qui pourrait donner en gros :
nom_joueur est un tableau alloué faut pas oublier de le free ou realloc si modification etc
const gchar *gtk_entry_get_text(GtkEntry *entry); Returns : a pointer to the contents of the widget as a string. This string points to internally allocated storage in the widget and must not be freed, modified or stored.http://developer.gnome.org/gtk/2.24/GtkEntry.html#gtk-entry-get-text
Comme indiqué gtk_entry_get_text retourne un pointeur (une adresse vers les données contenues dans l'entry) il vous est alors possible de copier les données en utilisant ce pointeur dans un tableau de gchar ou char (c'est la même chose).
https://www.gtk.org/api/2.6/glib/glib-Basic-Types.html#gchar
Ce qui pourrait donner en gros :
void callback_valider_nom(GtkWidget *widget, gpointer obj) { struct sObjets *locale_obj = (struct sObjets *)obj; gchar *ptr = gtk_entry_get_text(GTK_ENTRY(widget)); locale_obj->nom_joueur = malloc(sizeof(gchar)*(strlen(ptr)+1)); strcpy(locale_obj->nom_joueur,ptr); printf("Vous avez choisi le nom %s", locale_obj->nom_joueur); gtk_widget_destroy(locale_obj->vbox_entry); }
nom_joueur est un tableau alloué faut pas oublier de le free ou realloc si modification etc