Je voulais supprimer totalement =E0 partir de mon programme C sous
windows tous les fichiers textes temporaires dans mon r=E9pertoire de
travail et qui sont cr=E9es pendant l'ex=E9cution du programme .
Existe-t- elle une fonction ou une proc=E9dure permettant la suppression
totale de ces fichiers texte ?
Mais,cette fonction DeleteFile ne supprime rien :(
Et ça t'étonne ?
il y a la fonction 'FindFirstFile' mais je n'arrive pas à bien
utiliser.
Pouvez me donner un exemple de cette fonction ?
Bertand et Christian t'ont donné 2 méthodes différentes. Tu n'arrives pas à faire copier-coller ?
programmation
> Bertand et Christian t'ont donné 2 méthodes différentes. Tu n'arrives pas à faire copier-coller ?
Mon besoin est de supprimer des fichiers textes et non pas de répertoires.
Bonjour, Je mis le code C suivant comme un nouveau programme C sous windows avec Visual studio 2008:
#include <Windows.h>
int main(int argc, char* argv[])
{
char szPath[256];
char szSearch[256];
strcpy(szPath,"C:copcop");
strcpy(szSearch,szPath);
strcat(szSearch,"*.txt");
WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile(szSearch, &wfd);
if(hfl == INVALID_HANDLE_VALUE) return 0;
do {
char szFile[256];
strcpy(szFile,szPath);
strcat(szFile,wfd.cFileName);
DeleteFile(szFile);
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);
return 0;
}
Après la compilation, j'obtiens 14 erreurs et 9 avertissements :
1>------ Début de la génération : Projet : cop, Configuration : Debug Win32 ------ 1>Compilation en cours... 1>copie.c 1>c:copcopcopie.c(59) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (74) : voir la déclaration de 'strcpy' 1>c:copcopcopie.c(61) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (74) : voir la déclaration de 'strcpy' 1>c:copcopcopie.c(63) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (79) : voir la déclaration de 'strcat' 1>c:copcopcopie.c(65) : error C2275: 'WIN32_FIND_DATA' : utilisation non conforme de ce type comme expression 1> c:program filesmicrosoft sdkswindowsv6.0aincludewinbase.h (6154) : voir la déclaration de 'WIN32_FIND_DATA' 1>c:copcopcopie.c(65) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'wfd' 1>c:copcopcopie.c(65) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(67) : error C2275: 'HANDLE' : utilisation non conforme de ce type comme expression 1> c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h (402) : voir la déclaration de 'HANDLE' 1>c:copcopcopie.c(67) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'hfl' 1>c:copcopcopie.c(67) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(67) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(67) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA' 1>c:copcopcopie.c(67) : warning C4047: '=' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection 1>c:copcopcopie.c(69) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(69) : warning C4047: '==' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection 1>c:copcopcopie.c(77) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(77) : error C2224: la partie gauche de '.cFileName' doit avoir un type struct/union 1>c:copcopcopie.c(77) : error C2198: 'strcat' : pas assez d'arguments pour un appel 1>c:copcopcopie.c(81) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(81) : warning C4022: 'FindNextFileA' : incompatibilité de pointeur pour le paramètre réel 1 1>c:copcopcopie.c(81) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(81) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA' 1>c:copcopcopie.c(83) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(83) : 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:copcopDebugBuildLog.htm" 1>cop - 14 erreur(s), 9 avertissement(s) ========== Génération : 0 a réussi, 1 a éch oué, 0 mis à jour, 0 a été ignoré ==========
Pouvez vous m'aider à bien utiliser ce code ?
Merci.
> Bertand et Christian t'ont donné 2 méthodes différentes.
Tu n'arrives pas à faire copier-coller ?
Mon besoin est de supprimer des fichiers textes et non pas de
répertoires.
Bonjour,
Je mis le code C suivant comme un nouveau programme C sous windows
avec Visual studio 2008:
#include <Windows.h>
int main(int argc, char* argv[])
{
char szPath[256];
char szSearch[256];
strcpy(szPath,"C:\cop\cop\");
strcpy(szSearch,szPath);
strcat(szSearch,"*.txt");
WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile(szSearch, &wfd);
if(hfl == INVALID_HANDLE_VALUE) return 0;
do {
char szFile[256];
strcpy(szFile,szPath);
strcat(szFile,wfd.cFileName);
DeleteFile(szFile);
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);
return 0;
}
Après la compilation, j'obtiens 14 erreurs et 9 avertissements :
1>------ Début de la génération : Projet : cop, Configuration :
Debug Win32 ------
1>Compilation en cours...
1>copie.c
1>c:copcopcopie.c(59) : warning C4996: 'strcpy': This function
or variable may be unsafe. Consider using strcpy_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:program filesmicrosoft visual studio 9.0vcincludestring.h
(74) : voir la déclaration de 'strcpy'
1>c:copcopcopie.c(61) : warning C4996: 'strcpy': This function
or variable may be unsafe. Consider using strcpy_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:program filesmicrosoft visual studio 9.0vcincludestring.h
(74) : voir la déclaration de 'strcpy'
1>c:copcopcopie.c(63) : warning C4996: 'strcat': This function
or variable may be unsafe. Consider using strcat_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:program filesmicrosoft visual studio 9.0vcincludestring.h
(79) : voir la déclaration de 'strcat'
1>c:copcopcopie.c(65) : error C2275: 'WIN32_FIND_DATA' :
utilisation non conforme de ce type comme expression
1> c:program filesmicrosoft sdkswindowsv6.0aincludewinbase.h
(6154) : voir la déclaration de 'WIN32_FIND_DATA'
1>c:copcopcopie.c(65) : error C2146: erreur de syntaxe :
absence de ';' avant l'identificateur 'wfd'
1>c:copcopcopie.c(65) : error C2065: 'wfd' : identificateur non
déclaré
1>c:copcopcopie.c(67) : error C2275: 'HANDLE' : utilisation non
conforme de ce type comme expression
1> c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h
(402) : voir la déclaration de 'HANDLE'
1>c:copcopcopie.c(67) : error C2146: erreur de syntaxe :
absence de ';' avant l'identificateur 'hfl'
1>c:copcopcopie.c(67) : error C2065: 'hfl' : identificateur non
déclaré
1>c:copcopcopie.c(67) : error C2065: 'wfd' : identificateur non
déclaré
1>c:copcopcopie.c(67) : warning C4133: 'fonction' : types
incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA'
1>c:copcopcopie.c(67) : warning C4047: '=' : 'int' diffère de
'HANDLE' dans les niveaux d'indirection
1>c:copcopcopie.c(69) : error C2065: 'hfl' : identificateur non
déclaré
1>c:copcopcopie.c(69) : warning C4047: '==' : 'int' diffère de
'HANDLE' dans les niveaux d'indirection
1>c:copcopcopie.c(77) : error C2065: 'wfd' : identificateur non
déclaré
1>c:copcopcopie.c(77) : error C2224: la partie gauche de
'.cFileName' doit avoir un type struct/union
1>c:copcopcopie.c(77) : error C2198: 'strcat' : pas assez
d'arguments pour un appel
1>c:copcopcopie.c(81) : error C2065: 'hfl' : identificateur non
déclaré
1>c:copcopcopie.c(81) : warning C4022: 'FindNextFileA' :
incompatibilité de pointeur pour le paramètre réel 1
1>c:copcopcopie.c(81) : error C2065: 'wfd' : identificateur non
déclaré
1>c:copcopcopie.c(81) : warning C4133: 'fonction' : types
incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA'
1>c:copcopcopie.c(83) : error C2065: 'hfl' : identificateur non
déclaré
1>c:copcopcopie.c(83) : 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:copcopDebugBuildLog.htm"
1>cop - 14 erreur(s), 9 avertissement(s)
========== Génération : 0 a réussi, 1 a éch oué, 0 mis à jour, 0 a
été ignoré ==========
> Bertand et Christian t'ont donné 2 méthodes différentes. Tu n'arrives pas à faire copier-coller ?
Mon besoin est de supprimer des fichiers textes et non pas de répertoires.
Bonjour, Je mis le code C suivant comme un nouveau programme C sous windows avec Visual studio 2008:
#include <Windows.h>
int main(int argc, char* argv[])
{
char szPath[256];
char szSearch[256];
strcpy(szPath,"C:copcop");
strcpy(szSearch,szPath);
strcat(szSearch,"*.txt");
WIN32_FIND_DATA wfd;
HANDLE hfl = FindFirstFile(szSearch, &wfd);
if(hfl == INVALID_HANDLE_VALUE) return 0;
do {
char szFile[256];
strcpy(szFile,szPath);
strcat(szFile,wfd.cFileName);
DeleteFile(szFile);
} while(FindNextFile(hfl, &wfd));
FindClose(hfl);
return 0;
}
Après la compilation, j'obtiens 14 erreurs et 9 avertissements :
1>------ Début de la génération : Projet : cop, Configuration : Debug Win32 ------ 1>Compilation en cours... 1>copie.c 1>c:copcopcopie.c(59) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (74) : voir la déclaration de 'strcpy' 1>c:copcopcopie.c(61) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (74) : voir la déclaration de 'strcpy' 1>c:copcopcopie.c(63) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:program filesmicrosoft visual studio 9.0vcincludestring.h (79) : voir la déclaration de 'strcat' 1>c:copcopcopie.c(65) : error C2275: 'WIN32_FIND_DATA' : utilisation non conforme de ce type comme expression 1> c:program filesmicrosoft sdkswindowsv6.0aincludewinbase.h (6154) : voir la déclaration de 'WIN32_FIND_DATA' 1>c:copcopcopie.c(65) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'wfd' 1>c:copcopcopie.c(65) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(67) : error C2275: 'HANDLE' : utilisation non conforme de ce type comme expression 1> c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h (402) : voir la déclaration de 'HANDLE' 1>c:copcopcopie.c(67) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'hfl' 1>c:copcopcopie.c(67) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(67) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(67) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA' 1>c:copcopcopie.c(67) : warning C4047: '=' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection 1>c:copcopcopie.c(69) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(69) : warning C4047: '==' : 'int' diffère de 'HANDLE' dans les niveaux d'indirection 1>c:copcopcopie.c(77) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(77) : error C2224: la partie gauche de '.cFileName' doit avoir un type struct/union 1>c:copcopcopie.c(77) : error C2198: 'strcat' : pas assez d'arguments pour un appel 1>c:copcopcopie.c(81) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(81) : warning C4022: 'FindNextFileA' : incompatibilité de pointeur pour le paramètre réel 1 1>c:copcopcopie.c(81) : error C2065: 'wfd' : identificateur non déclaré 1>c:copcopcopie.c(81) : warning C4133: 'fonction' : types incompatibles - de 'int *' à 'LPWIN32_FIND_DATAA' 1>c:copcopcopie.c(83) : error C2065: 'hfl' : identificateur non déclaré 1>c:copcopcopie.c(83) : 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:copcopDebugBuildLog.htm" 1>cop - 14 erreur(s), 9 avertissement(s) ========== Génération : 0 a réussi, 1 a éch oué, 0 mis à jour, 0 a été ignoré ==========
Pouvez vous m'aider à bien utiliser ce code ?
Merci.
Christian ASTOR
On 22 sep, 10:08, programmation wrote:
Mon besoin est de supprimer des fichiers textes et non pas de répertoires.
Et le flag FOF_FILESONLY, à quoi peut-il bien servir ?!!
On 22 sep, 10:08, programmation <bouali.a...@gmail.com> wrote:
Mon besoin est de supprimer des fichiers textes et non pas de
répertoires.
Et le flag FOF_FILESONLY, à quoi peut-il bien servir ?!!
Mon besoin est de supprimer des fichiers textes et non pas de répertoires.
Et le flag FOF_FILESONLY, à quoi peut-il bien servir ?!!
Bertrand Lenoir-Welter
Ce code compile sans erreur sur Borland (juste deux warnings à cause des argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça devrait marcher.
Ce code compile sans erreur sur Borland (juste deux warnings à cause des
argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça
devrait marcher.
Ce code compile sans erreur sur Borland (juste deux warnings à cause des argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça devrait marcher.
programmation
On 22 sep, 09:52, Bertrand Lenoir-Welter <bertrand-dot-2008-at-galaad- dot-net> wrote:
Ce code compile sans erreur sur Borland (juste deux warnings à cause de s argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça devrait marcher.
Merci beaucoup çà marche. Il suffit de déclarer les variables en tête de fonction 'main'.
Voici le nouveau code: #include <stdio.h> #include <windows.h>
Comment adapter cette solution pour supprimer seulement des fichiers textes qui vérifient la condition suivante: 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 . Comment supprimer ces fichiers qui portent dans leur préfixe le nom 'test' suivi d'un numéro ?
Merci
On 22 sep, 09:52, Bertrand Lenoir-Welter <bertrand-dot-2008-at-galaad-
dot-net> wrote:
Ce code compile sans erreur sur Borland (juste deux warnings à cause de s
argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça
devrait marcher.
Merci beaucoup çà marche.
Il suffit de déclarer les variables en tête de fonction 'main'.
Voici le nouveau code:
#include <stdio.h>
#include <windows.h>
Comment adapter cette solution pour supprimer seulement des fichiers
textes qui vérifient la condition suivante:
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 .
Comment supprimer ces fichiers qui portent dans leur préfixe le nom
'test' suivi d'un numéro ?
On 22 sep, 09:52, Bertrand Lenoir-Welter <bertrand-dot-2008-at-galaad- dot-net> wrote:
Ce code compile sans erreur sur Borland (juste deux warnings à cause de s argc/argv non utilisés). J'ai pas exécuté, mais à première vue, ça devrait marcher.
Merci beaucoup çà marche. Il suffit de déclarer les variables en tête de fonction 'main'.
Voici le nouveau code: #include <stdio.h> #include <windows.h>
Comment adapter cette solution pour supprimer seulement des fichiers textes qui vérifient la condition suivante: 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 . Comment supprimer ces fichiers qui portent dans leur préfixe le nom 'test' suivi d'un numéro ?
Merci
Christian ASTOR
On 22 sep, 23:00, programmation wrote:
Comment adapter cette solution pour supprimer seulement des fichiers text es qui vérifient la condition suivante: si je connais le nom et l'extension mais pas le nombre de fichier par exemple: test1.txt test2.txt
SHFileOperation() (bis)
On 22 sep, 23:00, programmation <bouali.a...@gmail.com> wrote:
Comment adapter cette solution pour supprimer seulement des fichiers text es qui vérifient la condition suivante:
si je connais le nom et l'extension mais pas le nombre de fichier par
exemple:
test1.txt
test2.txt
Comment adapter cette solution pour supprimer seulement des fichiers text es qui vérifient la condition suivante: si je connais le nom et l'extension mais pas le nombre de fichier par exemple: test1.txt test2.txt
SHFileOperation() (bis)
Christian ASTOR
On 22 sep, 23:00, programmation wrote:
Comment supprimer ces fichiers qui portent dans leur préfixe le nom 'test' suivi d'un numéro ?
B-A-BA : test*.txt
On 22 sep, 23:00, programmation <bouali.a...@gmail.com> wrote:
Comment supprimer ces fichiers qui portent dans leur préfixe le nom
'test' suivi d'un numéro ?