Lecture de 'gros fichiers'

jc_romeo Messages postés 59 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 janvier 2006 - 8 avril 2005 à 10:59
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011 - 8 avril 2005 à 20:21
Bonjour

je dois faire un programme qui doit lire plusieurs fichiers, qui chacun font des dizaines de méga octets.

etant donné que je n'ai pas assez de mémoire vive, et que je dois gérer les données de tous les fichiers pour une même ligne ensemble, je me demandais qu'elle était le meilleur moyen de ne pas perdre trop de mémoire.

Est ce qu'il faut laisser les différents fichiers ouverts (ne pas faire de fclose), ou bien les fermer et se souvenir des lignes où on en ait.
Est ce qu'il est possible d'écraser uniquement une partie d'un fichier?

est ce que vous voyez d'autres méthodes
Merci d'avance
JC

exemple de traitement
On a 600 fichiers qui font chacun 20Mo, et qui sont de type tabulé.
On doit donc faire les traitements de données 10000 lignes par 10000 lignes (traiter les 10000 premières lignes de tous les fichiers en même temps, les réécrire, puis traiter les 10000 lignes suivante de tous les fichiers etc...)

1 réponse

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
8 avril 2005 à 20:21
Si c'est sous Windows, regarde ceci, ca te donneras des idées:

http://www.cppfrance.com/code.aspx?ID=30502



Tu peux faire les même choses sous Linux, faut seulement

trouver les équivalents(fonctions) ...


Le FileMapping c'est très pratique ...




~(.:: NitRic ::.)~
0
Rejoignez-nous