begin process at 2012 05 30 04:25:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

suppression des fichiers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

suppression des fichiers

vendredi 18 septembre 2009 à 07:10:49 | suppression des fichiers

boualiasma

Bonjour,

Je voulais supprimer totalement à partir de mon programme C sous windows tous les fichiers textes temporaires dans mon répertoire de travail et qui sont crées pendant l'exécution du programme .

Existe-t- elle une fonction ou une procédure permettant la suppression totale de ces fichiers texte ?

Je trouve la fonction remove():


remove("test.txt");


Comment je vais utiliser dans les deux suivants ?
1) si je ne connais pas le nom de fichiers seulement l'extension par exemple *.txt

2) si je connais le nom et l'extension mais pas le nombre de fichier par exemple:
test1.txt
test2.txt
......
....
testn.txt

ici je ne connais pas en avance le nombre car ces fichiers sont générés par le programme seulement.

il y a autre fonction à part remove() ?


Merci.

vendredi 18 septembre 2009 à 09:33:38 | Re : suppression des fichiers

buno

Administrateur CodeS-SourceS

Hello,
Sur Windows, tu as DeleteFile();
Pour parcourir ton répertoire, FindFirstFile(), FindNextFile() (un exemple dans la source de Joky, Listing File)


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

vendredi 18 septembre 2009 à 14:15:29 | Re : suppression des fichiers

BruNews

Administrateur CodeS-SourceS

WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile("*.txt", &wfd);
if(hfl == INVALID_HANDLE_VALUE) return;
do {
DeleteFile(wfd.cFileName);
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);

ATTENTION que ta CurrentDirectory soit sur le bon dossier.
Sinon passer un FullPathName à FindFirstFile();

ciao...
BruNews, MVP VC++

vendredi 18 septembre 2009 à 19:24:03 | Re : suppression des fichiers

boualiasma

Bonsoir,

Je voulais directement supprimer les fichiers textes et non pas un dossier.

Pouvez me donner un exemple d'utilisation de la fonction permettant la suppression l'ensemble des fichiers texte dans les deus cas suivants: ?

1) si je ne connais pas le nom de fichiers seulement l'extension par exemple *.txt

2) si je connais le nom et l'extension mais pas le nombre de fichier par exemple:
test1.txt
test2.txt
......
....
testn.txt

ici je ne connais pas en avance le nombre car ces fichiers sont générés par le programme seulement.

Merci.

vendredi 18 septembre 2009 à 21:09:01 | Re : suppression des fichiers

buno

Administrateur CodeS-SourceS

C'est ce que l'on t'a indiqué. BruNews t'a même donné le code pour supprimer les fichiers *.txt


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

vendredi 18 septembre 2009 à 22:07:46 | Re : suppression des fichiers

boualiasma

WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile("*.txt", &wfd);
if(hfl == INVALID_HANDLE_VALUE) return;
do {
DeleteFile(wfd.cFileName);
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);

ATTENTION que ta CurrentDirectory soit sur le bon dossier.
Sinon passer un FullPathName à FindFirstFile();



Comment je vais appeler dans le programme 'main' ?
est ce que il y a des 'include 'à ajouter ?

Merci.

lundi 21 septembre 2009 à 09:01:48 | Re : suppression des fichiers

buno

Administrateur CodeS-SourceS

Pour les includes, va sur MSDN, tapes "FindFirstFile" dans la zone de recherche et tu devrais trouver ton bonheur. Tu devrais même trouver des exemples


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

lundi 21 septembre 2009 à 15:54:42 | Re : suppression des fichiers

boualiasma

Bonjour,

J'ai besoin de vos aides.

Je n'arrive pas à bien utiliser les fonctions 'FindFirstFile' et 'DeleteFile'.

Les fichiers textes sont dans le répertoire:
c:\cop\cop

Je voulais supprimer ces fichiers textes

Voici mon essai:

Code C/C++ :
#include <windows.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()

{

DeleteFile("C:\\cop\\cop\\fichier*.txt",FALSE);

return 0;

}


Après la compilation, j'ai un warning :

1>c:\cop\cop\copie.c(10) : warning C4020: 'DeleteFileA' : paramètres réels trop nombreux




Avez vous une solution ?

Merci.

lundi 21 septembre 2009 à 16:13:25 | Re : suppression des fichiers

buno

Administrateur CodeS-SourceS

Oui...celle de BruNews...que j'adapte à tes besoins car j'ai du temps

Code C/C++ :

#include <Windows.h>
#include <string>

using namespace std;

int main(int argc, char* argv[])
{
string strPath="C:\\cop\\cop\\"; // ici le répertoire contenant les fichiers à supprimer
string strSearch=strPath+"*.txt"; // ici, rajout de "l'extension" à supprimer
WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile(strSearch.data(), &wfd);
if(hfl == INVALID_HANDLE_VALUE) return 0;
do {
string strFile=strPath+wfd.cFileName; // reconstruction du chemin complet
DeleteFile(strFile.data()); // suppression
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);
return 0;
}


A noter que ce code n'est pas récursif (ne va pas chercher dans les sous-répertoires).

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

lundi 21 septembre 2009 à 17:14:04 | Re : suppression des fichiers

boualiasma

Je copie ce code dans mon programme C sous windows.
Je lance la compilation alors j'obtiens des erreurs(32 erreurs et 8warnings):

1>c:\cop\cop\copie.c(7) : error C2061: erreur de syntaxe : identificateur 'namespace'
1>c:\cop\cop\copie.c(7) : error C2059: erreur de syntaxe : ';'
1>c:\cop\cop\copie.c(15) : error C2065: 'string' : identificateur non déclaré
1>c:\cop\cop\copie.c(15) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'strPath'
1>c:\cop\cop\copie.c(15) : error C2065: 'strPath' : identificateur non déclaré
1>c:\cop\cop\copie.c(15) : warning C4047: '=' : 'int' diffère de 'char [12]' dans les niveaux d'indirection
1>c:\cop\cop\copie.c(17) : error C2065: 'string' : identificateur non déclaré
1>c:\cop\cop\copie.c(17) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'strSearch'
1>c:\cop\cop\copie.c(17) : error C2065: 'strSearch' : identificateur non déclaré
1>c:\cop\cop\copie.c(17) : error C2065: 'strPath' : identificateur non déclaré
1>c:\cop\cop\copie.c(17) : warning C4047: '=' : 'int' diffère de 'char *' dans les niveaux d'indirection
1>c:\cop\cop\copie.c(19) : error C2275: 'WIN32_FIND_DATA' : utilisation non conforme de ce type comme expression
1> c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(6154) : voir la déclaration de 'WIN32_FIND_DATA'
1>c:\cop\cop\copie.c(19) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'wfd'
1>c:\cop\cop\copie.c(19) : error C2065: 'wfd' : identificateur non déclaré
1>c:\cop\cop\copie.c(21) : error C2275: 'HANDLE' : utilisation non conforme de ce type comme expression
1> c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(402) : voir la déclaration de 'HANDLE'
1>c:\cop\cop\copie.c(21) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'hfl'
1>c:\cop\cop\copie.c(21) : error C2065: 'hfl' : identificateur non déclaré
1>c:\cop\cop\copie.c(21) : error C2065: 'strSearch' : identificateur non déclaré
1>c:\cop\cop\copie.c(21) : error C2224: la partie gauche de '.data' doit avoir un type struct/union
1>c:\cop\cop\copie.c(21) : error C2065: 'wfd' : identificateur non déclaré
1>c:\cop\cop\copie.c(21) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPCSTR'
1>c:\cop\cop\copie.c(21) : error C2198: 'FindFirstFileA' : pas assez d'arguments pour un appel
1>c:\cop\cop\copie.c(21) : warning C4047: '=' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection
1>c:\cop\cop\copie.c(23) : error C2065: 'hfl' : identificateur non déclaré
1>c:\cop\cop\copie.c(23) : warning C4047: '==' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection
1>c:\cop\cop\copie.c(27) : error C2065: 'string' : identificateur non déclaré
1>c:\cop\cop\copie.c(27) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'strFile'
1>c:\cop\cop\copie.c(27) : error C2065: 'strFile' : identificateur non déclaré
1>c:\cop\cop\copie.c(27) : error C2065: 'strPath' : identificateur non déclaré
1>c:\cop\cop\copie.c(27) : error C2065: 'wfd' : identificateur non déclaré
1>c:\cop\cop\copie.c(27) : error C2224: la partie gauche de '.cFileName' doit avoir un type struct/union
1>c:\cop\cop\copie.c(29) : error C2065: 'strFile' : identificateur non déclaré
1>c:\cop\cop\copie.c(29) : error C2224: la partie gauche de '.data' doit avoir un type struct/union
1>c:\cop\cop\copie.c(29) : error C2198: 'DeleteFileA' : pas assez d'arguments pour un appel
1>c:\cop\cop\copie.c(31) : error C2065: 'hfl' : identificateur non déclaré
1>c:\cop\cop\copie.c(31) : warning C4022: 'FindNextFileA' : incompatibilité de pointeur pour le paramètre réel 1
1>c:\cop\cop\copie.c(31) : error C2065: 'wfd' : identificateur non déclaré
1>c:\cop\cop\copie.c(31) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA'
1>c:\cop\cop\copie.c(33) : error C2065: 'hfl' : identificateur non déclaré
1>c:\cop\cop\copie.c(33) : warning C4022: 'FindClose' : incompatibilité de pointeur pour le paramètre réel 1
1>Le journal de génération a été enregistré à l'emplacement "file://c:\cop\cop\Debug\BuildLog.htm"
1>cop - 32 erreur(s), 8 avertissement(s)



Je crois que j'ai besoin d'une version C de ce code.
Aidez moi et Merci.


1 2

Cette discussion est classée dans : fonction, programme, fichiers, txt, suppression


Répondre à ce message

Sujets en rapport avec ce message

Fermeture d'un programme et suppression de fichiers [ par greg515 ] Bonjour, voila je cherche un moyen pour fermer un ou plusieurs processus sous win et également le moyen de supimer n ou pluseurs fichier quelqu'un peu suppression de fichier en fonction de la date de création [ par koma777 ] Bonjour à tous, Je cherche actuellement un programme automatisant la suppression de fichier en fonction d'une date antérieur. En effet, j'ai une camer suppression des fichiers [ par boualiasma ] Bonjour, Dans mon programme C, j'ai crée des fichiers *.txt sous C:\ Je voulais supprimer totalement ces fichiers après la fin du programme. Il y a de CreateProcessWithLogonW [ par Rankin ] Salut à tous, J'ai créé un programme qui doit exécuter des commandes sous un compte admin. J'ai prévu le cas où un utilisateur simple exécute mon app un programme qui en crée un autre [ par ritchou42 ] salut [^^yeuxenlair] je voulais savoir quel est la façon de procédé si je veux crée un programme sous win qui puissant générer un .exe en fonction du a fonction seekg [ par infodaoudi ] Bonjour, je'aimerai bien savoir s'il ya un equivalement de la fonction seekg pour un fichier txt. Je m'explique j'ai un fichier txt composé des donnée programme en c qui calcule la fonction m^e mod n pour m,e et n des valeurs grands [ par ami2008 ] Bonjour,je veux un programme en c qui calcule la fonction m^e mod n pour m,e et n des valeurs grands... j'ai trouvé dans cppfrance la fonction qui cal stack overflow [ par ssana83 ] Bonjour, j'ai réalisé un programme de création d'un arbre donc j'ai utilisé une fonction récursive. J'ai essayé le programme ça marche sauf avec certa La fonction ioperm() [ par baptchr55 ] Bonjour à tous, j'ai une simple petite question... Dans le cadre d'un projet j'ai récupéré une petit programme pour l'ouverture du port // que j'ai p Comparaison de string ligne par ligne pour supprimer les doublons [ par Flash11 ] Bonjour, je suis nouveau et débutant dans les langages de programmation. J'espère que vous pourrez m'aider à résoudre mon problème et je remercie d'a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,834 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales