begin process at 2012 05 29 12:41:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Modifier des octets dans un fichier ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier des octets dans un fichier ?

vendredi 10 décembre 2004 à 16:31:47 | Modifier des octets dans un fichier ?

supergrey

Salut, je voudrais savoir comment modifier des octets au milieu d'un fichier, jusqu'ici je recopier tout le fichier en changeant les octet voulu mais ca me pose probleme pour de gros fichier.
Merci!
vendredi 10 décembre 2004 à 16:39:12 | Re : Modifier des octets dans un fichier ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
CreateFile
SetFilePointer
WriteFile
CloseHandle

ciao...
BruNews, MVP VC++
vendredi 10 décembre 2004 à 16:57:22 | Re : Modifier des octets dans un fichier ?

Nebula

Membre Club
Et bonjour le gain de vitesse... Si tu utilises le C standard : fopen, fseek, fprintf et fclose.
vendredi 10 décembre 2004 à 18:17:12 | Re : Modifier des octets dans un fichier ?

supergrey

ok merci je vais chercher un peu pour CreateFile,SetFilePointer,WriteFile,CloseHandle sinon si tu as un exemple je suis preneur...
vendredi 10 décembre 2004 à 18:21:03 | Re : Modifier des octets dans un fichier ?

racpp

Administrateur CodeS-SourceS
Salut,
Nebula > Tu es sûr que les fonctions du C Standard sont plus rapides? Si oui comment expliquer cela? Moi je pensais toujours que les APIs sont les plus rapides. J'aimerais bien en avoir le coeur net.
vendredi 10 décembre 2004 à 18:24:05 | Re : Modifier des octets dans un fichier ?

BruNews

Administrateur CodeS-SourceS
racpp > les propos de Nebula vont bien dans le meme sens, il serait d'ailleurs impossible qu'il en fut autrement.

ciao...
BruNews, MVP VC++
vendredi 10 décembre 2004 à 18:44:51 | Re : Modifier des octets dans un fichier ?

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Voici un petit exemple:

HANDLE hFichier;
hFichier =CreateFile("nomfichier.bin",.......
long position=1000;
SetFilePointer(hFichier,position,0,FILE_BEGIN);
BYTE octet=0x1F;
DWORD ecrits=0;
WriteFile(hFichier, &octet,1,&ecrits,0);
CloseHandle(hFichier);

Dans cet exemple, le pointeur du fichier est positionné à 1000 à partir du début. Puis on écrit l'octet 0x1F à cette position. L'ancien octect est écrasé. Si la taille du fichier est trop grande (+ de 4Go) tu devras utiliser aussi le 3ème paramètre de la fonction SetFilePointer(). Si la position désirée est plus proche de la fin, il est préférable de remplacer FILE_BEGIN par FILE_END. Dans ce cas "position" doit être négatif.

vendredi 10 décembre 2004 à 18:53:50 | Re : Modifier des octets dans un fichier ?

racpp

Administrateur CodeS-SourceS
BruNews > Ok. Je ne sais pas pourquoi beaucoup de gens pensent que les fonctions du C Standard sont toujours plus rapides. Y'a-t-il des cas où cela pourrait être vrai?
vendredi 10 décembre 2004 à 19:01:00 | Re : Modifier des octets dans un fichier ?

vecchio56

Administrateur CodeS-SourceS
Eventuellement pour des fonction C qui n'utilisent pas d'API!
Par exemple sprintf est peut être plus rapide que wsprintf, par contre malloc qui utilisse HeapAlloc ne pourrait être plus rapide, elle est forcément plus lente
vendredi 10 décembre 2004 à 19:03:22 | Re : Modifier des octets dans un fichier ?

vecchio56

Administrateur CodeS-SourceS
Comme rapcpp, j'interprète le message de Nebula comme suit:
pour le gain de vitesse ne pas utiliser les API mais les fonction C runtime

1 2 3 4 5

Cette discussion est classée dans : fichier, modifier, octets


Répondre à ce message

Sujets en rapport avec ce message

modifier un fichier en hexadecimal [ par cybermarcel ] bonjours tout le monde !!! la forme ??alors voila je voudrai ouvrire un fichier et changer une valeur mais je voudrai l'ouvrire en hexadecimal et chan modifier un enregistrement [ par ludelu ] Bonjour, je souhaiterai savoir comment on peut modiffier un enregistrement dans un fichier et dans la même ocasion supprimer un fichier.Le fichier est Un fichier .rul c'est quoi ???? [ par sounlight ] Voici mon problème : je dois modifier un logiciel programmé en c++. J'ai ses codes sources.Lors de l'installation du logiciel, le setup ne détecte pas Integration fonction C [ par metek ] Bonjour!!Voila j'ai une ptite question sur les API!!!J'ai fait un petit programme qui liste un fichier texte cherche un mot entré et recupere le reste modifier l'extension d'un fichier [ par oudkaramla ] bonjour j'ai un soucis:j'ai un fichier dont le nom est contenu dans une variable de type char, le probleme est que je veux changer son extensionl'exte modifier un fichier [ par XorCo ] Voilà le but est que je puisse modifier un fichier .. donc le lire et dès que j'arrive à un char spécifique je dois écrire qqchose.Je suppose que je d troquer un fichier avec stdio.h [ par gergalp ] je voudrais savoir s'il existe une fonction dans stdio.h pour tronquer un fichier, c'est à dire retirer X octets en fin de fichier, et par extension, modifier un fichier texte sur ftp [ par kidpigeyre ] Je cherche à modifier un fichier texte présent sur mon ftp à partir de mon application.Cmt faire?Mci.kidpigeyre Pb d'écriture en binaire (fichier [ par paulo46 ] Bonjour,le problème se passe lorsque je veux modifier une entree dans le fichier (entrée sous la forme d'une struct).Le fichier est constitué de la mê Modifier un FICHIER XML [ par ced09 ] Bonjour, dans mon code j'arrive a lire et ecrire tout  le fichier xml, mais je voudrais faire des modification dans le noeud principale sans que sa ch


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales