bonjour,

j'ai un petit problème avec une fonction qui consiste à enregistrer. Pour l'instant je ne cherche qu'à enregistrer un titre que rentre l'utilisateur (entry) et un texte toujours saisi par l'utilisateur (buffer). Mon programme exécute et compile par contre il m'enregistre n'importe quoi, les caractères qu'il m'affiche sont des carrés des virgules mais pas des lettres.
De plus, je dois l'enregistrer sous un fichier.ics mais je ne sais pas ce que sais? est ce que ca marche pareil qu'un .txt et sous quoi l'enregistrer un bloc note?
je vous mets ma fonction:

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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
void on_button5_clicked(GtkButton *button,GtkWidget *view)
{
/*déclaration des variables utiles pour récupérer la note*/
GtkTextBuffer* text_buffer=0;
GtkTextIter start;
GtkTextIter end;
GtkWidget *entry;
GtkWidget* pconfirmation;
gchar* buffer;
 
/*déclaration d'un pointeur de fichier mémo*/
FILE *memo;  
 
 
/*On récupére ce que l'utilisateur a rentré*/                                        
entry=lookup_widget(GTK_WIDGET(button),"entry1");
//On recupere le buffer et on le met dans une variable
text_buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
//On recupere l'origine du buffer
gtk_text_buffer_get_start_iter(text_buffer,&start);
//On recupere la fin du buffer
gtk_text_buffer_get_end_iter(text_buffer,&end);
/*on copie le contenu du buffer dans une variable*/
buffer = gtk_text_buffer_get_text(text_buffer, &start, &end, TRUE);
 
 
 
 
/*ouverture du fichier memo en écriture */
   memo= fopen("calend.txt","a");
   if (memo==NULL) {
       perror("erreur d'ouverture du fichier");
       exit(0);
   }
fprintf(memo,"BEGIN:VEVENT\n"); 
fprintf(memo,"SUMMARY:");  
fprintf(memo,"%s\n",entry);
fprintf(memo,"DESCRIPTION:");
fprintf(memo,"%s\n",buffer);
fclose(memo);
 
//affichage d'une fenetre de confirmation d'enregistrement
pconfirmation = gtk_message_dialog_new (NULL,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO ,GTK_BUTTONS_OK, "Votre memo a bien ete enregistre");
gtk_dialog_run(GTK_DIALOG(pconfirmation));
gtk_widget_destroy(pconfirmation);
}
et voici l'appelle de ma fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 
 g_signal_connect ((gpointer) button5, "clicked",
                    G_CALLBACK (on_button5_clicked),
                    NULL);
je pense que c'est dans l'appelle qui peut y avoir un problème, surement dans les paramètres ou peut etre un problème d'initialisation enfin je ne vois pas trop, merci