Supprimer le contenu d'un fichier [Résolu]

Signaler
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour,
je voudrais supprimer le contenu d'un fichier txt.
J'ai vu qu'il n'existait pas de fonction déjà toute faite alors j'ai pensé a ca lol :

val=FileSeek(desc,0,2);

FileSeek(desc,0,0);


for(int clear=0; clear<val; clear++)
{
FileWrite(desc, "" , 1);
}

mais bien evidement ca ne marche pas lol :/

Quelqu'un aurait il une idée svp :) ?

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
DeleteFile fonctionnera quand tu auras fermé le handle de fichier.

ciao...
BruNews, MVP VC++
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
Salut :)

FILE *fp = fopen("fichier.txt", "w");
fclose(fp);

Ouvrir un fichier en écriture efface obligatoirement tout son contenu...

@+
Messages postés
21
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2007

platon179 c'est ce que j'allais dire!
Bon tan pas je donne quad même le code complet:

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
FILE* fichier = NULL;


fichier = fopen("fichier_text.txt", "w+");


if (fichier ! = NULL)
{
// On peut lire et écrire dans le fichier
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier");
}


return 0;
}

Voila!
Messages postés
161
Date d'inscription
samedi 25 juin 2005
Statut
Membre
Dernière intervention
1 août 2006

lol je crois que utiliser remove() sera plus simple et efficace.
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007

Non car en fait dans ce fichier il y a deja des informations !
Donc :
1/ jouvre mon fichier
2/ je fais ce que j'ai a faire concernant les infos
3/ je supprime le contenu de mon fichier pour y remettre d'autres info
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
Ah ouais, forcément, si tu dois récupérer des infos, faut le faire avant ^^

Et apres tu peux utiliser le code de darkdidi pour effacer le contenu, ou utiliser remove pour supprimer le fichier, et en recréer un nouveau par la suite :)
Messages postés
14816
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2020
93
une idée comme ça (à tester...):
- lire les infos du fichier
- retourner au début
- écrire tes données
- écrire le caractère de fin de fichier EOF


Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007

Alors tout d'abord :
vu que je dois supprimer le fichier, j'ai utilisé la fonction DeleteFile(filename) mais ca ne marche pas :/
Ensuite j'ai utilisé remove(filename) mais ca ne marche pas non plus :/
Je n'ai pas repris le code de darkdidi pour garder une homogénéité car dans mon programme je n'utilise que FilOpen, FileRead,FileWrite ...

Enfin je voudrais savoir, buno, comment ecrire le caractère de fin de fichier ? (enfin car je ne sais pas :/ le caractere de fin de chaine c'est '\0' mais pour les fichier je sais pas :) )