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

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

Répondre au sujet
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 14 avril 2006 à 00:22
+3
Utile
DeleteFile fonctionnera quand tu auras fermé le handle de fichier.

ciao...
BruNews, MVP VC++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BruNews
platon179 237 Messages postés lundi 20 mai 2002Date d'inscription 22 juillet 2011 Dernière intervention - 13 avril 2006 à 15:48
0
Utile
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
cs_darkdidi 21 Messages postés mercredi 5 avril 2006Date d'inscription 4 janvier 2007 Dernière intervention - 13 avril 2006 à 15:52
0
Utile
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
anonyme_man_in_this_world 161 Messages postés samedi 25 juin 2005Date d'inscription 1 août 2006 Dernière intervention - 13 avril 2006 à 16:00
0
Utile
lol je crois que utiliser remove() sera plus simple et efficace.
Commenter la réponse de anonyme_man_in_this_world
SaXo360 31 Messages postés mardi 16 mars 2004Date d'inscription 21 mars 2007 Dernière intervention - 13 avril 2006 à 16:12
0
Utile
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
platon179 237 Messages postés lundi 20 mai 2002Date d'inscription 22 juillet 2011 Dernière intervention - 13 avril 2006 à 16:35
0
Utile
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
BunoCS 13758 Messages postés lundi 11 juillet 2005Date d'inscription 19 avril 2018 Dernière intervention - 13 avril 2006 à 16:38
0
Utile
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
SaXo360 31 Messages postés mardi 16 mars 2004Date d'inscription 21 mars 2007 Dernière intervention - 13 avril 2006 à 17:05
0
Utile
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.