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]