Bonjour,
Quelle est la fonction qui permet de cr�e un dossier qui doit contenir diff�rent fichier qui sont cr�e ult�rieurement?
Je n'ai rien trouv� pour l'instant, si une �me charitable veut bien �clairer ma lanterne..
merci![]()
Bonjour,
Quelle est la fonction qui permet de cr�e un dossier qui doit contenir diff�rent fichier qui sont cr�e ult�rieurement?
Je n'ai rien trouv� pour l'instant, si une �me charitable veut bien �clairer ma lanterne..
merci![]()
Pour cr�er un repertoire, CreateDirectory
merci pour ton aide, par contre, j'ai regarder dans les tuto pour voir comment on test si un dossier existe mais la fonction qui est donn� (opendir()) n'est pas reconnu en c++, je crois que c'est du PHP. Comment je peut faire alors pour tester si mon dossier existe?
merci
Code : S�lectionner tout - Visualiser dans une fen�tre � part if (GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY)
voila ce que j'ai fais:
mais le compilateur ne rentre jamais dans la boucle condition, que le dossier existe ou pas...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 if (!(GetFileAttributes(chemin) & FILE_ATTRIBUTE_DIRECTORY)) { CreateDirectory(chemin,NULL); }
j'ai essay� plusieurs solutions mais rien n'y fais, et m�me avec l'aide je ne comprend pas comment utiliser cette fontion de test!
Pourrais-tu me faire une br�ve explication de ce que je doit faire?
merci beaucoup.![]()
Que vaut "chemin" ?Envoy� par Rafoo
GetFileAttributes(chemin) & FILE_ATTRIBUTE_DIRECTORY) teste le chemin et si c'est un r�pertoire, il rentre dans la condition.
Donc, ton programme est bon. Si le r�pertoire n'existe pas, alors je le cr��.
Par contre, il doit forc�ment rentrer dedans, si le r�pertoire n'existe pas. C'est pour ca qu'il faudrait connaitre la valeur de chemin. (n'as-tu pas oublier de doubler les \)
ma variable chemin vaut :
lot d�tient le nom du r�pertoir � cr�e s'il n'existe pas...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2chemin ="C:\\Documents and Settings\\rdigiusto.VARIOPTIC\\Bureau\\test\\"+lot;
Sans le '!' il ne rentre jamais dans la condition et avec le '!' il y rentre a chaque fois!!![]()
moi pas comprendre quoi pas marcher...?!?
chemin est un char * ? string ? CString ?
si tu rentres dans la boucle en enlevant le ! c'est que le r�pertoire existe
tu as essay� de tracer en debug ?
ma variable chemin est un CString.
Et j'ai en fait tester mon programme dans les deux cas suivant:
- Avec le dossier existant
- Sans le dossier.
mais sans le '!', en tra�ant avec le debugger, le compilateur ne rentre pas dans la boucle.
avec le '!', le compilateur rentre � chaque fois dans la boucle, que le dossier existe ou pas...
bizzard, non?
je te propose de faire un test simple
en admettant que ton windows soit install� sur c:\winnt
le but �tant de voir que winnt existe, et pas winnt2
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 if (GetFileAttributes("c:\\winnt") & FILE_ATTRIBUTE_DIRECTORY) { MessageBox(NULL, "C:\\winnt existe", "", 0); } else { MessageBox(NULL, "C:\\winnt n'existe pas", "", 0); } if (GetFileAttributes("c:\\winnt2") & FILE_ATTRIBUTE_DIRECTORY) { MessageBox(NULL, "C:\\winnt2 existe", "", 0); } else { MessageBox(NULL, "C:\\winnt2 n'existe pas", "", 0); }
J'ai essay� ton test et j'ai les deux message... winnt existe et winnt2 existe!!
Je ne comprend pas pourquoi, c'est trop bizzard......
je t'avouerai que je sais pas trop l�.
Je te propose alors d'utiliser une autre solution
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 WIN32_FILE_ATTRIBUTE_DATA attr; if (GetFileAttributesEx("c:\\winnt", GetFileExInfoStandard, &attr)) if (attr.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) MessageBox(NULL, "C:\\winnt existe", "", 0); else MessageBox(NULL, "C:\\winnt n'est pas un repertoire", "", 0); else MessageBox(NULL, "C:\\winnt n'existe pas", "", 0);
Alors maintenant, il me dit que 'winnt n'existe pas'!!!
c'est la 4�me dimension!!!![]()
euh ... il existe bien ?![]()
que renvoit GetLastError() ?
je viens de modifier ton code pour l'adapter au mien, et cette nouvelle version marche tr�s bien... Alors pourquoi il n'a pas trouv� winnt je ne sais pas (j'ai fais une recherche sur le c: et j'ai pas trouv� de winnt!!!), mais l'important c'est que �a marche dans mon code...
merci beaucoup pour ton aide.
Il n'a pas trouv� C:\WinNT car chez toi, Windows n'est pas install� dans ce dossier... (Il est probablement install� dans C:\Windows)
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
h� voui!!!
donc tout va bien dans le meilleur des mondes!!!
merci � toutes les personnes qui trouve du temps pour r�pondre aux questions aussi farfelu que les miennes.
et merci nico-pyright(c), tu m'a tir� une grosse �pine du pied.
Partager