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

Messages postés
31
Date d'inscription
mardi 16 mars 2004
Dernière intervention
21 mars 2007
- 13 avril 2006 à 15:41 - Dernière réponse :
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 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 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 14 avril 2006 à 00:22
3
Merci
DeleteFile fonctionnera quand tu auras fermé le handle de fichier.

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de BruNews
Messages postés
237
Date d'inscription
lundi 20 mai 2002
Dernière intervention
22 juillet 2011
- 13 avril 2006 à 15:48
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
Dernière intervention
4 janvier 2007
- 13 avril 2006 à 15:52
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
Dernière intervention
1 août 2006
- 13 avril 2006 à 16:00
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
Dernière intervention
21 mars 2007
- 13 avril 2006 à 16:12
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
Dernière intervention
22 juillet 2011
- 13 avril 2006 à 16:35
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
14231
Date d'inscription
lundi 11 juillet 2005
Dernière intervention
19 novembre 2018
- 13 avril 2006 à 16:38
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
Dernière intervention
21 mars 2007
- 13 avril 2006 à 17:05
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.