Pb de suppression d'un fichier text en C
Résolu/Fermé
A voir également:
- Pb de suppression d'un fichier text en C
- Forcer suppression fichier - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
9 réponses
Utilisateur anonyme
20 janv. 2009 à 19:30
20 janv. 2009 à 19:30
j'ai touvé le pb mais je ne sais pas le resoudre
quand j'utilise la commande system("del filename.txt") après l'execution il m'affiche que le fichier est utilisée par un autre processus, ce qui reste c'est de trouver le processus responsable. comment le faire? y a-t-il une fonction qui peut determiner le processus qui utilise le fichier ?
quand j'utilise la commande system("del filename.txt") après l'execution il m'affiche que le fichier est utilisée par un autre processus, ce qui reste c'est de trouver le processus responsable. comment le faire? y a-t-il une fonction qui peut determiner le processus qui utilise le fichier ?
Utilisateur anonyme
20 janv. 2009 à 19:45
20 janv. 2009 à 19:45
j'ai une question à vous demander: est ce qu'on peut fermer un fichier dans la condition d'ouverture c_a_d:
FILE *in = fopen("fichier.txt","mode");
if(in){
fclose(in);
}
ou est ce qu'on doit obligatoirement faire
if(in){
}
fclose(in); //en dehors de la condition
FILE *in = fopen("fichier.txt","mode");
if(in){
fclose(in);
}
ou est ce qu'on doit obligatoirement faire
if(in){
}
fclose(in); //en dehors de la condition
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 janv. 2009 à 20:31
20 janv. 2009 à 20:31
Salut,
Oui, tu peux mais c'est un peut inutile.
Normalement on vérifie si le pointeur est NULL donc le fichier ne peux pas être ouvert.
Le reste suit normalement
écrire ton code */
Oui, tu peux mais c'est un peut inutile.
Normalement on vérifie si le pointeur est NULL donc le fichier ne peux pas être ouvert.
Le reste suit normalement
FILE *in; if (NULL==(in = fopen("fichier.txt","mode"))) return 1;/* si la condition if est fausse alors le fichier est ouvert donc tu peux
écrire ton code */
Utilisateur anonyme
20 janv. 2009 à 20:31
20 janv. 2009 à 20:31
pourquoi lors du deboguage en pas à pas le curseur ne passe pas par fclose() ? (c_a_d il ne la selectionne pas mais il la depasse).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 janv. 2009 à 20:32
20 janv. 2009 à 20:32
Re,
lorsque je fait remove (filename); rien ne se passe
filename contient quoi?
lorsque je fait remove (filename); rien ne se passe
filename contient quoi?
Utilisateur anonyme
20 janv. 2009 à 20:38
20 janv. 2009 à 20:38
ben il contien des lignes de textes.
le problème c'est que la fermeture du fichier ne se fait pas correctement
j'ai vérifier avec ceci
if(fclose(in)==0) //normalement ca retourne vrai si la fermeture c'est passé avec succes
printf("fermeture avec succes");
mais là rien ne se passe
je ne sais pas pourquoi
le problème c'est que la fermeture du fichier ne se fait pas correctement
j'ai vérifier avec ceci
if(fclose(in)==0) //normalement ca retourne vrai si la fermeture c'est passé avec succes
printf("fermeture avec succes");
mais là rien ne se passe
je ne sais pas pourquoi
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 janv. 2009 à 20:47
20 janv. 2009 à 20:47
Re,
ben il contien des lignes de textes.
Ben, justement il devrait être un chemin vers un fichierr
Je pense que tu n'as pas saisie pas question.
remove(filename);
filename doit être un chemin vers un fichier sur ton disque
ben il contien des lignes de textes.
Ben, justement il devrait être un chemin vers un fichierr
Je pense que tu n'as pas saisie pas question.
remove(filename);
filename doit être un chemin vers un fichier sur ton disque
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 janv. 2009 à 20:45
20 janv. 2009 à 20:45
Re,
Chez moi ça marche
Chez moi ça marche
lami20j@debian:~$ cat test.c #include<stdio.h> int main() { FILE *IN; IN=fopen("fic.txt","r"); if(fclose(IN)==0) printf("ok\n"); return 0; } lami20j@debian:~$ ls -l fic.txt -rw-r--r-- 1 lami20j lami20j 0 jan 20 20:42 fic.txt lami20j@debian:~$ gcc test.c lami20j@debian:~$ ./a.out ok
Utilisateur anonyme
20 janv. 2009 à 20:56
20 janv. 2009 à 20:56
mais le fichier se trouve dans le repertoire de travail pourquoi j'ai a ecrire un chemin?
et pourquoi la fermeture du fichier ne se fait pas pour moi t'a une idée de ce quii peut la causer?
et pourquoi la fermeture du fichier ne se fait pas pour moi t'a une idée de ce quii peut la causer?
Utilisateur anonyme
20 janv. 2009 à 21:09
20 janv. 2009 à 21:09
:D j'ai une bétise, j'ai mis le return avant la fermeture du fichier
bon merci pour l'aide après tout
bon merci pour l'aide après tout