Enlever des données d'un EXE - C - Programmation
Marsh Posté le 27-02-2005 à 21:29:45
maerlin666 a écrit : Je voudrais savoir comment effacer des données ecrites sur un fichier.
|
Que signifie 'effacer' ?
Citation : Question stupide peut-etre ? |
Euh, hum... Joker !
Marsh Posté le 27-02-2005 à 21:33:05
maerlin666 a écrit : bonjour/soir,
|
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 !!!
Marsh Posté le 27-02-2005 à 21:45:25
Citation : |
Je voudrais completement supprimer la donnée
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.
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.
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...)
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:
J'ai ecrit 100 fois 'A' dans fd, mais comment en effacer un maintenant (sans le remplacer par un NULL).
Question stupide peut-etre ?