J'imagine que tu n'executes pas ca comme tel, mais que tu mets des protections, des fois que le fichier de conf contienne une coquille qui fasse planter le programme ?
Bah ouaih, un peu plus long, mais plus robuste si on ajoute la verification des erreurs eventuelles de fgets et de g_strplut_set :)
Le bonjour chez vous,
Yves
PS. Code non teste, et en plus, vous voudrez surement virer tout ce qui suit un # en mettant un '0円' a la place indiquee par strchr(tmp, '#'); Et puis peut-etre aussi supprimer les espace avec g_strchug() ?
[^] # Re: Treecc
Posté par a_jr . En réponse à la dépêche Utiliser lex et yacc dans vos programmes C/C++. Évalué à 0.
Meme systeme en Perl, je crois.
En C avec glib:
GHashTable *config = g_hash_table_new(g_str_hash, g_str_equal);
FILE *fd = fopen(...);
while(!feof(fd)) {
char tmp[BUFSIZ];
gchar**s;
fgets (tmp, BUFSIZ, fd);
s = g_strsplit_set(tmp,"=", 2);
g_hash_table_insert(config, s[0], s[1]);
g_free(s);
}
fclose(fd);
Bah ouaih, un peu plus long, mais plus robuste si on ajoute la verification des erreurs eventuelles de fgets et de g_strplut_set :)
Le bonjour chez vous,
Yves
PS. Code non teste, et en plus, vous voudrez surement virer tout ce qui suit un # en mettant un '0円' a la place indiquee par strchr(tmp, '#'); Et puis peut-etre aussi supprimer les espace avec g_strchug() ?