Modification fichiers text en c

Signaler
-
SLT , je n'ai besoin que de deux fonction l'un pour supprimer une ligne l'autre pour la modifier c ttt !! svp qelq'un pourrait me donner un lien ou bien un code pour realiser ça et meeeeerci b1 :)
voici mon code je veux au niveau du void modification lorsque j'appui sur confirmer les modifications seront aooliquée aux fichiers
#include
#include
#include
#include
static void modification (GtkWidget *wid, GtkWidget *wi)
{
GtkWidget *window;
GtkWidget *table;
GtkWidget *label1;
GtkWidget *label2;
GtkWidget *entry1;
GtkWidget *entry2;
GtkWidget *bouton;


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "modification ");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
table = gtk_table_new(3, 3, FALSE);
gtk_container_add(GTK_CONTAINER(window), table);
label1 = gtk_label_new("Taille personne");
label2 = gtk_label_new("Poids personne");

bouton = gtk_button_new_with_label("confirmer");gtk_table_attach(GTK_TABLE(table), bouton, 1, 2, 2, 3,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
entry1 = gtk_entry_new();
entry2 = gtk_entry_new();
gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
gtk_table_attach(GTK_TABLE(table), label2, 0, 1, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
gtk_table_attach(GTK_TABLE(table), entry1, 1, 2, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
gtk_table_attach(GTK_TABLE(table), entry2, 1, 2, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);


gtk_widget_show(table);

gtk_widget_show(label1);
gtk_widget_show(bouton);

gtk_widget_show(label2);
gtk_widget_show(entry1);
gtk_widget_show(entry2);
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
}
static void copier2(GtkWidget *widget, GtkEntry **entry2)
{FILE *FP ;
FP=fopen("Fpersonne.txt","a");
fprintf(FP,"\n");

fprintf (FP,"taille personne: %s",gtk_entry_get_text(entry2));

fprintf(FP,"\n");

}
static void copier3(GtkWidget *widget, GtkEntry **entry3)
{FILE *FP ;
FP=fopen("Fpersonne.txt","a");
fprintf(FP,"\n");

fprintf (FP,"poids personne: %s",gtk_entry_get_text(entry3));

fprintf(FP,"\n");
fprintf(FP,"\n");
fprintf(FP ,"********************************************") ;
fprintf(FP,"\n");

}

static void copier(GtkWidget *widget, GtkEntry **entry1)
{FILE *FP ;
FP=fopen("Fpersonne.txt","a");
fprintf(FP,"\n");

fprintf (FP,"code persone: %s",gtk_entry_get_text(entry1));

fprintf(FP,"\n");

}


static void suppression (GtkWidget *wid, GtkWidget *wi)
{
GtkWidget *window;
GtkWidget *table;
GtkWidget *label1;
GtkWidget *bouton;
GtkWidget *label3;
GtkWidget *entry1;


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "creation d'une nouvelle personne");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
table = gtk_table_new(3, 3, FALSE);
gtk_container_add(GTK_CONTAINER(window), table);
label1 = gtk_label_new("Code Personne");

bouton = gtk_button_new_with_label("supprimer") ;
label3 = gtk_label_new("SAISISSEZ LE CODE DE LA PERSONNE A SUPPRIMER");
gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), bouton, 0, 1, 2, 3,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), label3, 0, 2, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
entry1 = gtk_entry_new();
gtk_table_attach(GTK_TABLE(table), entry1, 1, 2, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_widget_show(table);
gtk_widget_show(label1);
gtk_widget_show(bouton);
gtk_widget_show(label3);
gtk_widget_show(entry1);
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
}

static void MODIFICATION (GtkWidget *wid, GtkWidget *wi)
{
GtkWidget *window;
GtkWidget *table;
GtkWidget *label1;
GtkWidget *label2;
GtkWidget *entry1;
GtkWidget *bouton;


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "modification ");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
table = gtk_table_new(3, 3, FALSE);
gtk_container_add(GTK_CONTAINER(window), table);
label1 = gtk_label_new("Code Personne");

bouton = gtk_button_new_with_label("valider");gtk_table_attach(GTK_TABLE(table), bouton, 1, 2, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
entry1 = gtk_entry_new();
gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);
gtk_table_attach(GTK_TABLE(table), entry1, 1, 2, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 3, 3);

gtk_signal_connect(GTK_OBJECT(bouton), "clicked", GTK_SIGNAL_FUNC (modification), (GtkEntry*)entry1 );

gtk_widget_show(table);

gtk_widget_show(label1);
gtk_widget_show(bouton);

gtk_widget_show(label2);
gtk_widget_show(entry1);
gtk_widget_show(window);
g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
}

void CREATION(GtkWidget *widget, gpointer *entry)
{

int n ;


GtkWidget *window;
GtkWidget *table;
GtkWidget *entry1,*entry2,*entry3,*entry4 ,*entryn;
GtkWidget *label1;
GtkWidget *label2;
GtkWidget *label3;
GtkWidget *label4;
GtkWidget *bouton;








window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(window), "creation d'une nouvelle personne");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);

table = gtk_table_new(6, 2, FALSE);
gtk_container_add(GTK_CONTAINER(window), table);

label1 = gtk_label_new("Code Personne");
label2 = gtk_label_new("Taille Personne");
label3 = gtk_label_new("Poids Personne");
label4 = gtk_label_new("Voulez-vous ajouter un autre employe O/N");



gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), label2, 0, 1, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), label3, 0, 1, 2, 3,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), label4, 0, 1,4 , 5,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);


entry1 = gtk_entry_new();
entry2 = gtk_entry_new();
entry3 gtk_entry_new(); entry4 gtk_entry_new();


gtk_table_attach(GTK_TABLE(table), entry1, 1, 2, 0, 1,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), entry2, 1, 2, 1, 2,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), entry3, 1, 2, 2, 3,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_table_attach(GTK_TABLE(table), entry4, 1, 2,4, 5,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
bouton = gtk_button_new_with_label("ajouter");gtk_table_attach(GTK_TABLE(table), bouton, 0, 1, 5, 6,
GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
gtk_widget_show(table);

gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox), entry1, TRUE, TRUE, 0);

gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox), entry2, TRUE, TRUE, 0);

gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox), entry3, TRUE, TRUE, 0);

gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->vbox), entry4, TRUE, TRUE, 0);






gtk_signal_connect(GTK_OBJECT(bouton), "clicked", GTK_SIGNAL_FUNC (copier), (GtkEntry*)entry1 );
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->action_area), bouton, TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(bouton), "clicked", GTK_SIGNAL_FUNC (copier2), (GtkEntry*)entry2 );
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->action_area), bouton, TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT(bouton), "clicked", GTK_SIGNAL_FUNC (copier3), (GtkEntry*)entry3 );
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(window)->action_area), bouton, TRUE, TRUE, 0);



gtk_widget_show(label1);
gtk_widget_show(label2);
gtk_widget_show(label3);
gtk_widget_show(label4);


gtk_widget_show(entry1);
gtk_widget_show(entry2);
gtk_widget_show(entry3);
gtk_widget_show(entry4);

gtk_widget_show(bouton);
gtk_widget_show(window);


g_signal_connect(window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
}
void show_question(GtkWidget *widget, gpointer window)
{
GtkWidget *dialog;
gint resultat;


dialog = gtk_message_dialog_new(GTK_WINDOW(window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_YES_NO,"Are you sure to quit?");
gtk_window_set_title(GTK_WINDOW(dialog), "??????");
resultat= gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
if (resultat==GTK_RESPONSE_YES)
{gtk_widget_destroy(window);}
}
void helloWorld ()
{

GtkWidget *win = NULL;
GtkWidget *vbox = NULL;
GtkWidget *M1;
GtkWidget *M2;
GtkWidget *M3;
GtkWidget *M4;

win= gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(win), 300,200);
gtk_window_set_title(GTK_WINDOW(win), "Classification des données selon la méthode de C-Moyennes Floues");
gtk_container_set_border_width(GTK_CONTAINER(win), 5);
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);
M1 = gtk_button_new_with_label("creation d'une nouvelle personne");
M2 = gtk_button_new_with_label("Modification d'une personne existante");
M3 = gtk_button_new_with_label("Supression d'une personne existante");

M4 = gtk_button_new_with_label("Quiter");

gtk_box_pack_start(GTK_BOX(vbox), M1, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M2, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M3, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M4, TRUE, TRUE, 0);

g_signal_connect (G_OBJECT (M1), "clicked", G_CALLBACK (CREATION), (gpointer) win);

g_signal_connect (G_OBJECT (M2), "clicked", G_CALLBACK (MODIFICATION), (gpointer) win);
g_signal_connect (G_OBJECT (M3), "clicked", G_CALLBACK (suppression), (gpointer) win);



g_signal_connect(G_OBJECT(M4), "clicked",G_CALLBACK(gtk_main_quit), NULL);

g_signal_connect_swapped(G_OBJECT(win), "destroy",G_CALLBACK(gtk_main_quit), G_OBJECT(win));

/* Enter the main loop */
gtk_widget_show_all (win);
gtk_main ();


}







void client( GtkWidget *win,gpointer data)
{
GtkWidget *p;




p= gtk_button_new_with_label("CLIENT _iujf ");
gtk_box_pack_start(GTK_BOX(win), p, TRUE, TRUE, 0);

}
int main (int argc, char *argv[])
{




GtkWidget *win = NULL;
GtkWidget *vbox = NULL;
GtkWidget *M1;
GtkWidget *M2;
GtkWidget *M3;
GtkWidget *M4;

/* Initialize GTK+ */
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);

/* Create the main window */

gtk_init(&argc, &argv);

win= gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(win), 480,480);
gtk_window_set_title(GTK_WINDOW(win), "Classification");
gtk_container_set_border_width(GTK_CONTAINER(win), 5);


/* Create a vertical box with buttons */
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);
M1 = gtk_button_new_with_label("Gestion des personnes");
M2 = gtk_button_new_with_label("Classification CMF");
M3 = gtk_button_new_with_label("Optimisation CMF descendante");

M4 = gtk_button_new_with_label("Quiter");

gtk_box_pack_start(GTK_BOX(vbox), M1, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M2, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M3, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(vbox), M4, TRUE, TRUE, 0);

g_signal_connect (G_OBJECT (M1), "clicked", G_CALLBACK (helloWorld), (gpointer) win);



g_signal_connect(G_OBJECT(M4), "clicked",G_CALLBACK(show_question), (gpointer) win);



gtk_widget_show_all (win);
gtk_main ();
return 0;
}