Page 1 sur 1
Supression de fichier en C
Posté : 22 mai 2005 19:05
par Sebome
Bonjour à tous,
J'essai de faire un petit programme en C et dans se programme j?ai besoin de supprimer les fichiers contenus dans un dossier.
J?ai essayé au hasard de faire :
Mais ça ne marche pas?
C?est la première fois que j?essai de supprimer un fichier en C et je ne connais pas les contrôles qui permettent de faire ceci ni comment ils marchent?
Pourriez-vous m?aidez svp
Merci d?avance !
Posté : 22 mai 2005 22:25
par Eblis
Il te manque probablement les "" mais je ne programme pas du tout donc réponse à prendre au 28° degré, juste à essayer

Posté : 22 mai 2005 23:16
par Naveed
Posté : 22 mai 2005 23:57
par Sebome
Merci Naveed pour ta réponce je v regarder ca :bravo:
probleme
Posté : 23 mai 2005 01:48
par Sebome
J?ai toujours mon problème.
Avec remove j?arrive à supprimer un fichier contenu dans un dossier par exemple :
remove ("c:\\temp\\test.txt");
Ce que je voudrais faire, c?est supprimer tout le contenu du dossier Temp (à l?origine, on est pas sensé savoir ce qu?il y a dans ce dossier) et si je mets :
remove("c:\\temp\\);
Ca ne marche pas?
Voici mon code :
Code : Tout sélectionner
#include <stdio.h>
#include <conio.h>
#include <errno.h>
void main()
{
int test;
if (test=remove("c:\\temp\\"))
{
switch(errno)
{
case EACCES:
fprintf(stderr,"Fichier protégé contre l'écriture !\n");
break;
case ENOENT:
fprintf(stderr,"Fichier non trouvé !\n");
break;
case EINVAL:
fprintf(stderr,
"Caractères invalides pour un nom !\n");
default:
fprintf(stderr,"Erreur indéterminée !\n");
}
}
if(test==0)
printf("\nSuppresion termine\n");
getch();
}
[\code]
Quand j?exécute mon code j?ai en réponse : « fichier protégé contre l?écriture ».
Comment puis je faire pour supprimer ce qu?il y a à l?intérieur de ce dossier?
Je remercie d?avance les personnes qui se penchent sur question pour m?aider.
Posté : 23 mai 2005 06:38
par real34
Si cela peut t'aider :
http://bob.developpez.com/tutapiwin/article_44.php
Sinon :
http://c.developpez.com/faq/c/?page=fichiers là tu sauras comment lister le contenu d'un dossier, ensuite il ne te reste plus qu'à faire une boucle pour supprimer tes fichiers ...
Si cela ne te suffit pas ==>
http://www.google.com/search?num=30&hl= ... %7Clang_fr 
Posté : 23 mai 2005 16:46
par Sebome
Merci Real real34 je v regarder ca. :bravo:
Posté : 23 mai 2005 21:32
par Sebome
Merci real34 pour tes liens mais là j?avoue je suis un peu perdu.
En faite je voulais faire un petit programme qui permette de supprimer les Temp et Temporary Internet Files mais j?ai l?impression que j?ai visé un peu haut comme programme pour mon niveau?
Posté : 23 mai 2005 21:40
par real34
En n'ayant jamais fais de C, je pense que en te basant sur ça :
Code : Tout sélectionner
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
main()
{
struct dirent *lecture;
DIR *rep;
rep = opendir("/tmp");
while ((lecture = readdir(rep))) {
printf("FICHIER: %s\n", lecture->d_name);
}
closedir(rep);
}
et en remplacant le :
printf("FICHIER: %s\n", lecture->d_name);
par
int remove(const char *pathname); // Enfin, avec le bon nom de fichier!!!! [donc ta variable]
cela devrait faire qqch de sympa ...
@+
PS: Je me suis basé sur mon second lien

PS2: Pour les trucs plus techniques, je laisse la place à un codeur en C !

Posté : 23 mai 2005 23:33
par Sebome
A si c bon j'ai compri, javais pas capter que je n'avais pas dirent.h
J'ai telecharger Dev C++ et maintenant ca va beaucoup mieu, en plus ce compilateur la on peut le mettre en français ce qui est fort agréable
