• # g_io_channel

    Posté par . En réponse au message fwrite vs write. Évalué à 2.

    Utilises g_io_channel (http://developer.gnome.org/doc/API/2.0/glib/glib-IO-Channels(...) ), c'est plus propre, plus portable et en bonus, tu as la gestion des problèmes d'encoding :-)

    Ça donne du code qui ressemble à ça:

    GIOChannel *chan = g_io_channel_new_file ("monfichier.txt", ...);
    g_io_channel_set_encoding (chan, "ISO-8859-1", ...);
    ...
    g_io_channel_read (chan, pointeur buffer, nb_octets à lire, pointeur nb octets lus);
    ...
    g_io_channel_write (chan, pointeur buffer, nb octets à écrire, pointeur nb octets écrits)
    ...
    g_io_channel_close (chan);

    (bien sur, tester tous les retour de g_io_channel_* pour gérer proprement les erreurs)