 lecture écriture en c de fichiers distants en combinant libxml2 et gnomevfs comment combiner gnomevfs et libxml pour lire et écrire des fichiers xml sur des serveurs distants première étape permettre l authentification de l utilisateur si nécessaire  il faut en tout premier initaliser gnomevfs puis le gestionnaire d authentification gnomevfsinit gnomeauthenticationmanagerinit cet appel n est nécessaire que si le serveur distant nécessite une authentification dans le doute il l est la fonction est implémentée dans libgnomeui et donc cette bibliothèque est nécessaire remarque si le premier accès se fait à travers la boite de dialogue gtkfilechooserdialog cet appel n est pas nécessaire et si on veut éviter l utilisation de libgnomeui on peut toujours écire une fonction équivalente deuxième étape lire le fichier pour obtenir une structure xmldoc  gnomevfshandle handle xmldocptr xml gnomevfsresult result gnomevfsopen handle filename gnomevfsopenread if result gnomevfsok traiter l erreur par exemple en émettant un message et en retournant un code d erreur if xml xmlreadio xmlinputreadcallback cbvfstoxml xmlinputclosecallback gnomevfsclose handle filename null 0 traiter l erreur de lecture la fonction cbvfstoxml est nécessaire car gnomevfswrite n a pas les mêmes arguments que xmlinputclosecallback son code source est static int cbvfstoxml gnomevfshandle handle char buf int nb gnomevfsfilesize ndone return gnomevfsread handle buf nb ndone gnomevfsok int ndone 1  de même pour écrire un fichier  xmldocptr xml ici construire l arbre xmloutputbufferptr buf xmlallocoutputbuffer null gnomevfshandle handle int n gnomevfsresult result gnomevfsopen handle filename gnomevfsopenwrite if result gnomevfserrornotfound result gnomevfscreate handle filename gnomevfsopenwrite true 0644 on peut utiliser un autre droit d accès mais ils ne sont utilisés que si le serveur l autorise if result gnomevfsok traiter l erreur par exemple en émettant un message et en retournant un code d erreur buf context handle buf closecallback xmloutputclosecallback gnomevfsclose buf writecallback xmloutputwritecallback cbxmltovfs int n xmlsaveformatfileto buf xml null true de la même façon que pour la lecture on a besoin d une fonction utilitaire appelée ici cbxmltovfs son code est static int cbxmltovfs gnomevfshandle handle const char buf int nb gnomevfsfilesize ndone return int gnomevfswrite handle buf nb ndone   lecture écriture de fichiers distants en combinant libxml2 e bonjour jean etant donné que je ne connais ni libxml2 ni gnomevfs j aurais bien aimé une très courte descrition de ce que c est il faudrait peutêtre indiquer aussi que c est en c programme en c pour lire et écrire des fichiers xml distants en utilisant libxml2 et gnomevfs ps je pense que c est très bien de mettre en ligne des petits articles très techniques comme celuilà merci pour l article tony  lecture écriture de fichiers distants en combinant libxml2 e désolé mais je n ai pas les compétances pour évaluer le code mais la presentation est pas mal   programmation  