vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
10 juin 2009 à 15:44
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 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.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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.