Qu'est ce que tu entends par "supprimer"? Ecraser une partie de son contenu? Utiliser O_TRUNC?
Si c'est effacer son contenu, remplis la partie en question de char '\0'.
Si c'est le tronquer, tu écrases le contenu avec un memmove() (ou memcpy si tu sais _vraiment_ ce que tu fais ici). Puis ftruncate(2).
dap++ a écrit :
On ne peut pas lire/écrire directement dans un fichier, il faut appeler une fonction de positionnement (fseek, fsetpos, rewind) entre les deux. Si c'est une écriture suivie d'une lecture fflush() peut aussi faire l'affaire.
|
Ca, ca n'est que dans le cas ou il utiliserait des flux de stdio. S'il n'utilise que des appels systèmes read(2), write(2), ca ne posera pas de problème, à part gérer le pointeur pour savoir ou il en est dans le fichier.