bonjour,

je voudrais pour enregistrer plusieurs champs utiliser un tableau de pointeur, et non pas une structure car je n'y arrive pas.
J'ai essayer de faire ma fonction le problème c'est qu'il compile mais il n'enregistre rien pouvez vous me dire ce qui ne va pas dans ma fonction ou mes appels
voici la connexion du bouton à la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 enregistrer[0]=entry1; 
 enregistrer[1]=textview1;
 
g_signal_connect(G_OBJECT(button5),"clicked",G_CALLBACK(on_button5_clicked),(GtkWidget*)enregistrer);
et voici la 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
48
49
50
51
52
53
54
55
 
void on_button5_clicked(GtkWidget *penregistrer,gpointer user_data[2])
 
{
/*déclaration des variables utiles pour récupérer la note*/
GtkWidget *TextView;
GtkEntry *Entry;
GtkTextBuffer* text_buffer=0;
GtkTextIter start;
GtkTextIter end;
 
GtkWidget* pconfirmation;
gchar* buffer;
const gchar *entrer;
TextView=user_data[1];    
Entry=user_data[0];
 
/*déclaration d'un pointeur de fichier mémo*/
FILE *memo;  
 
 
/*On récupére ce que l'utilisateur a rentré*/                                        
entrer=gtk_entry_get_text(GTK_ENTRY(Entry));
//On recupere le buffer et on le met dans une variable
text_buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(TextView));
//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",entrer);
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);
 
	/* On libere la memoire */
  g_free(buffer);
}
merci de votre aide