Re: Key-value file parser, howto get all groups and create loop from them
- From: Christian Neumair <chris gnome-de org>
- To: rupert <rupertt gmail com>
- Cc: gtk-app-devel-list <gtk-app-devel-list gnome org>
- Subject: Re: Key-value file parser, howto get all groups and create loop from them
- Date: Tue, 01 Aug 2006 18:04:10 +0200
Am Dienstag, den 01.08.2006, 12:52 +0200 schrieb rupert:
Im playing arroung with the Gkeyfile functions and now try to get all groups
from the keyfile and create a for loop that than shows me the
different values, packed into strings, including the group name
i have something like this in mind:
crpyto_get_keyfile(){
GtkWidget *crypto_keys, *crypto_key_groups;
gboolean *isfile=FALSE;
gchar *startgroup;
gint *groupcounter=0;
Why did you make crypto_key_groups and crypto_keys a GtkWidget, and use
pointers for all the variables? Maybe learning C before learning the GTK
+/GLib API would help? :)
crypto_keys = g_key_file_new();
g_key_file_load_from_file(crypto_keys,
"/home/Programmierung/GTK_Projects/project_dmaster/src/crypto.ini",
G_KEY_FILE_NONE, NULL) ;
crypto_key_groups = g_key_file_get_groups(crypto_keys, NULL);
// g_print("%s", crypto_key_groups[0]);
//startgroup = g_key_file_get_start_group(crypto_keys);
So far, so good (except for the variable types, see below).
while (g_key_file_get_groups(crypto_keys, NULL))
{
crypto_key_groups[groupcounter] = g_key_file_get_groups(crypto_keys,
NULL);
// g_key_file_get_string(crypto_keys, "DATEN", "mountpoint", NULL);
g_print("%s", g_key_file_get_string(crypto_keys, "DATEN",
"mountpoint", NULL));
}
}
Please read the g_key_file_get_groups() documentation, this won't work.
char **crypto_key_groups;
int i;
crypto_key_groups = g_key_file_get_groups (crypto_keys, NULL);
for (i = 0; crypto_key_groups[i] != NULL; i++) {
g_print("%s", g_key_file_get_string(crypto_keys, crypto_key_groups[i],
"mountpoint", NULL));
}
g_strfreev (crypto_key_groups);
note that this code will execute the for-enclosed block for each group.
But maybe you just want to fetch the "mountpoint" key's value from the
"DATEN" group? If so, you should use
g_print ("%s", g_key_file_get_string(crypto_keys, "DATEN", "mountpoint",
NULL));
Maybe I'm taken wrong but I think the GKeyFile API and documentation is
quite strong and obvious. If you disagree, please tell us what
particular problem you encountered.
--
Christian Neumair <chris gnome-de org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]