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
|
/*Chargement de la combobox*/
GIOChannel * p_file = NULL;
GError * p_err = NULL;
gchar * p_buf = NULL;
int taille;
/*Ouverture du fichier text "memocat.txt"*/
p_file = g_io_channel_new_file ("memocat.txt", "r", & p_err);
if (p_file != NULL) //Si le fichier existe bien
{
p_buf = g_malloc (20); /* Taille de buffer suffisante. */
if (p_buf != NULL)
{
/* Lecture ligne par ligne. */
while (g_io_channel_read_line (p_file, &p_buf, NULL, NULL, NULL) ==
G_IO_STATUS_NORMAL)
{
/*
* Il faut enlever le \n qui se trouve a la fin de la chaine et
* le remplacer par un zero de fin de chaine soit \0.
*/
gchar * p = strchr (p_buf, '\n');
if (p != NULL)
{
*p = 0;
}
/*Troncature du mot pour ne garder qu'une partie*/
taille = strlen(p_buf)-5; /*4 lettres de "Cat:" + 1 pour ','*/
memmove (p_buf, p_buf+4, taille);
p_buf[taille]=0;
taille = strlen(p_buf)-1; /*1 pour ','*/
memmove (p_buf, p_buf, taille);
p_buf[taille]=0;
/*Chargement du mot danS le combobox*/
gtk_combo_box_append_text (GTK_COMBO_BOX(pCombo_cat), p_buf);
g_printf ("%s\n", p_buf);
}
}
}
else
{
/* Erreur d'ouverture du fichier. */
g_printf ("%s\n", p_err->message);
g_error_free (p_err);
} |
Partager