Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2007, 15:13
Avatar de diegoag1
diegoag1
 
Fecha de Ingreso: marzo-2004
Ubicación: El Pinar
Mensajes: 164
Antigüedad: 20 años, 8 meses
Puntos: 0
Ingresar datos en un TXT con GTK+

Buenas mi probema es el siguiente, yo tengo un boton y una entrada de texto, yo lo que quiero es que al apretar el boton me guarde el texto introducido en un archivo txt.

El problema es que no se donde esta el fallo en el programita que hice.

Código:
#include <stdlib.h>
#include <gtk/gtk.h>
#include <stdio.h>
#include <string.h>

void pegar(GtkWidget *widget,GtkWidget *entry, gpointer data){
  char *entry_text;
  entry_text= gtk_entry_get_text(GTK_ENTRY(entry));
  FILE *ar;
  ar=fopen("archivo.txt","w");
  if(ar==NULL){
  printf("ERROR");
  exit(1);
  }
  fprintf(ar,"%s\n",entry_text);
  fclose(ar);
}

int main (int argc, char *argv[]){
  
  GtkWidget *ventana;
  GtkWidget *boton;
  GtkWidget *entry;
  GtkWidget *vbox;
  
  gtk_init (&argc, &argv);
  ventana= gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (ventana), "Prueba");
 gtk_signal_connect(GTK_OBJECT(ventana),"delete_event",GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
  gtk_container_border_width (GTK_CONTAINER (ventana), 10);
  
  vbox = gtk_vbox_new (FALSE, 0);
  gtk_container_add (GTK_CONTAINER (ventana), vbox);
  gtk_widget_show (vbox);
  
  boton = gtk_button_new_with_label ("lala");
  gtk_signal_connect (GTK_OBJECT (boton), "clicked",GTK_SIGNAL_FUNC (pegar),NULL);
  gtk_box_pack_start (GTK_BOX (vbox), boton, TRUE, TRUE, 0);
  gtk_widget_show (boton);
  
  entry = gtk_entry_new_with_max_length (50);
     gtk_signal_connect(GTK_OBJECT(entry),"activate",GTK_SIGNAL_FUNC(pegar),entry);
  gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0);
  gtk_widget_show (entry);
  
  gtk_widget_show (ventana);
  gtk_main ();
  
  
  
  return 0;
}
Si pudieran decirme cual es el error que cometo les agradeceria.

Desde ya mucha gracias.
Saludos