LIBRAIRIE DE GESTION DE FICHIER

cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 - 29 déc. 2004 à 03:35
uncle_14 Messages postés 1 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 24 mars 2007 - 24 mars 2007 à 17:13
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28478-librairie-de-gestion-de-fichier

uncle_14 Messages postés 1 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 24 mars 2007
24 mars 2007 à 17:13
salut

Merci de tenir au courant si une mise à jour existe .
samkil Messages postés 6 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 4 avril 2008
3 avril 2006 à 12:33
Merci bcp c cool!!! je suis débutant en programmation et je dois rendre un devoir le 11/04 avec l'utilisation de fichiers et j'ai un peu de mal !!!

Samkil.
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
3 avril 2006 à 12:29
Pas de problemes, je te fais ca la semaine prochaine.
samkil Messages postés 6 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 4 avril 2008
3 avril 2006 à 12:26
Je sais bien que tu as réalisé ce code il y a longtemps mai si ta proposition de refaire une version avec les stream donc fclose, fopen... tiens toujours je suis preneur.
Dis moi si ca t'interresse!

Samkil.
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
29 déc. 2004 à 19:48
Je crois que poue être un peu plus clair, fopen dépend de open:
"The open function is the underlying primitive for the fopen and freopen functions, that create streams"
http://www.delorie.com/gnu/docs/glibc/libc_238.html
En fait, les fonctions en f... appellent les fonctions sans f!
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
29 déc. 2004 à 19:38
Elle n'est pas compatible avec Linux!
Rien qu'avec la fonction de gestion des erreurs j'ai besoin de l'API avec MessageBox! J'utilise aussi la fonction CopyFile, et probablement quelques autres que j'ai pas vu en relisant!
Mais dans le principe de base, les fonctions d'ouverture, de creation, de lecture et d'ecritue sont compatible linux

Stream operations, what you're calling "high-level" are by default buffered. The "low-level" operations are not (except for the OS buffers, of course).
Voila en mieux expliquer que ce que je pourrais faire la différence entre les 2 types de fonctions!
Et puis j'ai me bien le bas-niveau, alors _open me semblait plus approprié!
Au pire, si tu veux, je pourrais remettre à jour avec les 2 version, une avec des f.. et l'autre sans!
Dis-moi si ça t'intéresse!
++
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
29 déc. 2004 à 14:15
Ok c'est un choix meme si je vois pas du tout pourquoi (peut-être pourrais-tu m'expliquer). Et si, ca change carrément énormément au niveau des perfs.

Pour le moment je suis pas sur mon pc donc je peux pas tenter une compile mais je crois qu'il va y avoir quelques problèmes. Je te dis quand j'ai testé.

Sinon quant au fait que tu veuilles bientôt transformer cette source en APIwin, je pense que ca ne devrait pas être une maj mais une source à part entière parce que celle-ci, sauf inattention, est compatible linux, ce qui ne sera certainement pas le cas de la version API.


eRoZion
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
29 déc. 2004 à 12:18
ben justement, je voulais surtout pas travailler sur des stream! donc toutes les fonctions commencant par f... étaient à bannir! C'est fait exprès!
De toutes façons, ça change pas grand chose autrement, au lieu de renvoyer des int ou de prendre en param des int, il suffir de mettre des FILE*
Sinon, je compte d'ici pas longtemps utilisé les fonction CreateFile, CloseFile... donc travaillé sur des handle.
=>pour une futur MAJ
cs_eRoZion Messages postés 241 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 8 octobre 2007 1
29 déc. 2004 à 03:35
J'ai juste survolé ton code mais tu devrais de loin utiliser 'fopen()' plutot que 'open()'.
C'est carrément plus rapide et la lecture/ecriture par tampon est mieux gérée.
Utilise aussi 'fclose()' au lieu de 'close()', 'ftell' au lieu de 'tell()', 'fseek()' au lieu de 'lseek()', ...
Et pour récupérer le handle de ton fichier, sers-toi de 'fileno()'.

Dis-moi si j'ai mal regardé et qu'en fait c'est déjà géré mais là il est trop tard. :)


eRoZion
Rejoignez-nous