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

Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007
- - Dernière réponse : BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
- 14 avril 2006 à 00:22
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 :) ?
Afficher la suite 

8 réponses

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

ciao...
BruNews, MVP VC++

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 214 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BruNews
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
0
Merci
Salut :)

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

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

@+
Commenter la réponse de platon179
Messages postés
21
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
4 janvier 2007
0
Merci
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!
Commenter la réponse de cs_darkdidi
Messages postés
161
Date d'inscription
samedi 25 juin 2005
Statut
Membre
Dernière intervention
1 août 2006
0
Merci
lol je crois que utiliser remove() sera plus simple et efficace.
Commenter la réponse de anonyme_man_in_this_world
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007
0
Merci
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
Commenter la réponse de SaXo360
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
22 juillet 2011
2
0
Merci
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 :)
Commenter la réponse de platon179
Messages postés
14671
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
27 novembre 2019
90
0
Merci
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...
Commenter la réponse de BunoCS
Messages postés
31
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 mars 2007
0
Merci
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 :) )
Commenter la réponse de SaXo360