Re: Key-value file parser, howto get all groups and create loop from them



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]