MapViewOfFile vs SetFilePointer/WriteFile

Résolu
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 10 juin 2009 à 15:44
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 10 juin 2009 à 16:53
Bonjour,

J'ai une petite question sur la meilleure manière d'écrire dans un fichier.
J'écris une structure de données dont les première valeurs dépendent de valeurs calculées ensuite, donc parfois je suis obligé d'écrire des zéros puis de faire des SetFilePointer pour revenir en arrière et mettre les bonnes valeurs.
Comme le fichier peut être gros à la fin, je ne peux pas non plus tout garder en mémoire non plus.
Finalement je me demande si je n'aurais pas intéret à mapper mon fichier (je crois que ca sert à ca...).

J'aimerais savoir les avantages et inconvénients de chaque méthode, et notamment si le fait de travailler avec de gros fichiers peut orienter mon choix.

Merci

_____________________________________
Un éditeur de ressources gratuit pour Windows

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 juin 2009 à 16:49
Exactement le même type de prog que je viens de finir.

Pas eu besoin de filemapping vu que c'est de l'écriture directe.
J'ai mémorisé mes positions pour retour en incrémentant des UINT64 pendant les WriteFile.
Quand besoin, un SetFilePointerEx (FILE_BEGIN) avec une de ces positions et tout va bon.
Retour en fin de fichier SetFilePointer(hfl, 0, 0, FILE_END) si encore à écrire.

ciao...
BruNews, MVP VC++
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 juin 2009 à 16:53
OK c'est comme ca que j'étais parti pour faire donc je vais garder cette méthode.
Merci

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
Rejoignez-nous