J'ai des fichiers de données qui peuvent peser plusieurs mo. Je voudrais
modifier quelques bits dans ce fichier. Comment faire sans avoir à
recopier le fichier en entier?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ivan Vecerina
"Pascal" wrote in message news:
Bonjour,
J'ai des fichiers de données qui peuvent peser plusieurs mo. Je voudrais modifier quelques bits dans ce fichier. Comment faire sans avoir à recopier le fichier en entier?
Un fstream peut être utilisé avec qqch du genre: fstream f("monFichier", ios_base::in|ios_base::out|ios_base::binary); f.seekp( 555/*ma position*/ ); f.put( 0xBC ); Peut-être de préférence utiliser directement std::filebuf...
Sur une plate-forme moderne, cependant, je préfère en général utiliser du memory-mapping pour ce genre de choses. (avis perso et hors sujet cas pas en C++ standard).
Ivan -- http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
"Pascal" <teapa5@B022-05.fr> wrote in message
news:pan.2005.02.03.10.58.21.158057@B022-05.fr...
Bonjour,
J'ai des fichiers de données qui peuvent peser plusieurs mo. Je voudrais
modifier quelques bits dans ce fichier. Comment faire sans avoir à
recopier le fichier en entier?
Un fstream peut être utilisé avec qqch du genre:
fstream f("monFichier", ios_base::in|ios_base::out|ios_base::binary);
f.seekp( 555/*ma position*/ );
f.put( 0xBC );
Peut-être de préférence utiliser directement std::filebuf...
Sur une plate-forme moderne, cependant, je préfère en général
utiliser du memory-mapping pour ce genre de choses.
(avis perso et hors sujet cas pas en C++ standard).
Ivan
--
http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form
J'ai des fichiers de données qui peuvent peser plusieurs mo. Je voudrais modifier quelques bits dans ce fichier. Comment faire sans avoir à recopier le fichier en entier?
Un fstream peut être utilisé avec qqch du genre: fstream f("monFichier", ios_base::in|ios_base::out|ios_base::binary); f.seekp( 555/*ma position*/ ); f.put( 0xBC ); Peut-être de préférence utiliser directement std::filebuf...
Sur une plate-forme moderne, cependant, je préfère en général utiliser du memory-mapping pour ce genre de choses. (avis perso et hors sujet cas pas en C++ standard).
Ivan -- http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form