Supression de fichier en C

Un problème informatique? Une question? Bref tout ce qui a un rapport avec l'informatique, les virus, les questions d'utilisation de logiciels...

Modérateurs : Naveed, GregLand

Répondre
Sebome

Supression de fichier en C

Message 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 :

Code : Tout sélectionner

remove (l?indirection du dossier ) ;
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 !
Eblis
[-_VIP_-]
Messages : 1302
Enregistré le : 26 oct. 2003 12:15
Localisation : 92
Contact :

Message par Eblis »

Code : Tout sélectionner

remove("l?indirection du dossier");
Il te manque probablement les "" mais je ne programme pas du tout donc réponse à prendre au 28° degré, juste à essayer ;)
Image
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

Message par Naveed »

:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
Sebome

Message par Sebome »

Merci Naveed pour ta réponce je v regarder ca :bravo:
Sebome

probleme

Message 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.
real34
Messages : 1030
Enregistré le : 01 janv. 2004 18:51
Langage de programmation connu : PHP, SQL, CSS, xHTML, Javascript, Java, JSF, ASP.NET (C#), Pascal, Openlaszlo, XML
Localisation : Toulouse
Contact :

Message 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 ;)
Image
Sebome

Message par Sebome »

Merci Real real34 je v regarder ca. :bravo:
Sebome

Message par Sebome »

Merci real34 pour tes liens mais là j?avoue je suis un peu perdu. :roll:
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?
real34
Messages : 1030
Enregistré le : 01 janv. 2004 18:51
Langage de programmation connu : PHP, SQL, CSS, xHTML, Javascript, Java, JSF, ASP.NET (C#), Pascal, Openlaszlo, XML
Localisation : Toulouse
Contact :

Message 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 ! ;)
Image
Sebome

Message par Sebome »

A si c bon j'ai compri, javais pas capter que je n'avais pas dirent.h :lol:
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 :D
Répondre