Problème de sauvegarde de fichiers en gtk

tony952 Messages postés 1 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 16 juin 2009 - 16 juin 2009 à 12:39
SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011 - 16 juin 2009 à 16:45
Bonjour j'ai un soucis pour la sauvegarde de fichiers en GTK. Lorsque j'ouvre le fichier que j'ai enregistré, le programme m'affiche des symboles incompréhensibles.

Voici le code :

 
void OnSave(GtkWidget* widget, gpointer data)
{
  GtkWidget *pSave=NULL;
  pSave = gtk_file_chooser_dialog_new ("Save File as ...",
                        GTK_WINDOW(data),
                        GTK_FILE_CHOOSER_ACTION_SAVE,
                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                        GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
                        NULL);
  gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (pSave), TRUE);
  gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (pSave), "Untitled.");

  if (gtk_dialog_run (GTK_DIALOG (pSave)) == GTK_RESPONSE_ACCEPT)
  {
    gchar *filename;
    filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (pSave));
    /* save the output */

    FILE* fichier = NULL;
    long lsize;
    char save [2048];
    char buffer[256];
    fichier = fopen(filename, "w");
 
    if (fichier != NULL)
    {

        time_t timestamp = time(NULL);

    fseek (fichier , 0 , SEEK_END);
      lsize = ftell (fichier); 
   
    fread( save, 1, lsize, fichier);
        strftime(buffer, sizeof(buffer), "%A %d %B %Y - %X.", localtime(&timestamp));
  
    fputs("Fichier enregistré le ",fichier);
    fputs(buffer,fichier);
    fputs("\nHistorique de votre référence\n\n\n",fichier);
        fputs(save, fichier);
        fclose(fichier);
    }

    free (buffer);
    free (save);
    g_free (filename);
  }
   
  gtk_widget_destroy (pSave);
}

1 réponse

SebLinck Messages postés 212 Date d'inscription mardi 17 mai 2005 Statut Membre Dernière intervention 23 juin 2011
16 juin 2009 à 16:45
Salut,

Je ne connait pas GTK, mais as tu essayé de remplacer tes fputs() par des fprintf() ?

Cordialement,
Sébastien.
0
Rejoignez-nous