Enlever des données d'un EXE

Enlever des données d'un EXE - C - Programmation

Marsh Posté le 27-02-2005 à 21:20:17    

bonjour/soir,
 
Je voudrais savoir comment effacer des données ecrites sur un fichier.
 
par exemple:

Code :
  1. for(int i=0; i<100;i++)
  2. fwrite('A', 1, 1, fd);


 
J'ai ecrit 100 fois 'A' dans fd, mais comment en effacer un maintenant (sans le remplacer par un NULL).
Question stupide peut-etre ?

Reply

Marsh Posté le 27-02-2005 à 21:20:17   

Reply

Marsh Posté le 27-02-2005 à 21:29:45    

maerlin666 a écrit :

Je voudrais savoir comment effacer des données ecrites sur un fichier.
 
par exemple:

Code :
  1. for(int i=0; i<100;i++)
  2. fwrite('A', 1, 1, fd);


 
J'ai ecrit 100 fois 'A' dans fd, mais comment en effacer un maintenant (sans le remplacer par un NULL).


 Que signifie 'effacer' ?

  • Remplacer par autre chose ?
  • Supprimmer ?
Citation :

Question stupide peut-etre ?


Euh, hum... Joker !


Message édité par Emmanuel Delahaye le 27-02-2005 à 21:30:59

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 27-02-2005 à 21:33:05    

maerlin666 a écrit :

bonjour/soir,
 
Je voudrais savoir comment effacer des données ecrites sur un fichier.
 
par exemple:

Code :
  1. for(int i=0; i<100;i++)
  2. fwrite('A', 1, 1, fd);


 
J'ai ecrit 100 fois 'A' dans fd, mais comment en effacer un maintenant (sans le remplacer par un NULL).
Question stupide peut-etre ?


 
NULL est une valeur particulière utilisée dans certains cas (fin de chaîne, allocation ratée, etc).
Ecrire "NULL" dans un fichier n'enlève rien au fichier. Tu remplaces une valeur "0x61" par "0x00". Ce n'est pas de l'effacement !!!
 
En revanche, je n'ai pas non plus d'idée pour l'effacement à part reécrire le fichier !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 27-02-2005 à 21:45:25    

Citation :

 
Que signifie 'effacer' ?  
 
Remplacer par autre chose ?  
Supprimmer ?


 
Je voudrais completement supprimer la donnée

Reply

Marsh Posté le 27-02-2005 à 22:06:47    

Sur disque ou en RAM, on peut pas faire "disparaitre" un octet, car c'est bien qe que tu veux : faire disparaitre un octet.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 27-02-2005 à 22:33:27    

si tu veux enlever une portion de ton fichier.  
 
d'abord, il faut que tu redecales vers le haut ce qu'il y a apres la portion a supprimer.
et que ensuite tu mets un char de fin de ce que tu as decaler.
 
 
 

Reply

Marsh Posté le 27-02-2005 à 23:25:43    

maerlin666 a écrit :

Je voudrais completement supprimer la donnée


Alors il faut définir un critère de filtrage, et recopier le fichier byte par byte (fgetc()/fputc()) en mode binaire ("rb", "wb" ) dans un autre en filtrant ce qui ne doit pas ête copié. Ensuite rename() et remove() permettent de faire le ménage (et éventuellement de garder la version précédente du fichier...)


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed