Hola, estoy empezando a programar una aplicación para GNOME y hoy me he encontrado con el primer problema.
Resulta que tengo que manejar unos datos que son todo char* menos uno que es un entero (int), estos datos los tengo que mostrar por un gtkentry y por tanto debo pasar el entero a gchar* antes de mostrarlo en el gtkentry. Para ello he usado la función g_sprintf que permite pasar a la cadena que quieras un texto formateado como en un g_printf. Lo malo es que este método me provoca un fallo de segmentación, y no sé dónde está el fallo. Os pongo un trozo de código de cómo lo hago para que lo entendáis bien: #include <glib.h> #include <glib/gprintf.h> #include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *year_entry; /* Declaro más variables para la interfaz gráfica */ gchar *year; gint ret, ret2; /* Inicio la interfaz gráfica */ /* Uso GLADE para la interfaz gráfica */ year_entry = glade_xml_get_widget (GLADE_XML (data), "year_entry"); /* Recojo el valor del entero "ret" de otra función de una librería 100% fiable */ ret2 = g_sprintf (year, "%i", ret); if (ret2 > 0) gtk_entry_set_text (GTK_ENTRY (year_entry), (gchar *) year); /* Seguimos la ejecución y terminamos */ } **** El programa falla al realizar la función g_sprintf y no entiendo nada, ya que he hecho lo mismo pero con las funciones sprintf y los datos char e int, y funciona perfectamente. Así que creo que es problema de la glib, concretamente uso la 2.10 que está en los repositorios de Ubuntu Dapper. ¿Sabéis si puede ser un fallo de glib, que se haya corregido en alguna versión posterior? ¿O hago yo algo mal? -- Saludos Fran _______________________________________________ Gnome-desarrollo mailing list Gnome-desarrollo@es.gnome.org https://listas.es.gnome.org/mailman/listinfo/gnome-desarrollo