Le 25/01/2013 17:02, Damien Caliste a écrit :
> [...]
> 
> The idea when you want to change a file on disk is (not too big) :
> - generate a buffer of the full content of the file in memory, using
>   GString for instance
>   (http://developer.gnome.org/glib/unstable/glib-Strings.html) since
>   they are automatically expending in size but can be used with
>   equivalent printf() convenient functions ;

Not exactly in this case I think.  If the file represents structured
data, as OP's file seem to do, what you wanna do is read the file into a
data structure representing that content, e.g. a list of something like:

struct LibraryEntry {
        gchar *author;
        gchar *editor;
        gchar *title;
        /* whatever */
};

And when writing, serialize that data back to the file's format.  This
makes it easy to manipulate the data in your program, because a buffer
is nothing like easy to deal with.

Regards,
Colomban

> - copy atomicaly the buffer in the file with g-file-set-contents()
>   
> http://developer.gnome.org/glib/unstable/glib-File-Utilities.html#g-file-set-contents
> - delete the buffer.
> 
> Damien.

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to