begin process at 2012 05 28 15:28:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Changement de répertoire impossible


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

Changement de répertoire impossible

vendredi 5 février 2010 à 23:23:57 | Changement de répertoire impossible

Mowti

Bonjour,

J'ai un soucis dans un programme en C. Je veux exécuter des commandes dans le répertoire D: , mais je n'arrive pas à y accéder avec _chdir ni avec SetCurrentDirectory. Et si j'utilise system("D:"), il change de répertoire dans l'invit de commande ouvert, mais je ne peux pas utiliser GetDiskFreeSpace par la suite car il l'execute sur C: .

Quelqu'un a une solution à proposer?

Merci d'avance.
dimanche 7 février 2010 à 14:34:42 | Re : Changement de répertoire impossible

nanonavich


char def[260];

strcat_s(def,"D:\\");
SetCurrentDirectory( def);

oubli pas le double \\ qui va etre convertit auto en \ un

ou si tu connais l emplacement exact

ssprintf(def,"d:\\system32\\mon.exe");
WinExec(def,0);

ou
WinExec(d:\\system32\\mon.exe",0);





dimanche 7 février 2010 à 15:27:05 | Re : Changement de répertoire impossible

Mowti

J'ai essayé ta première proposition mais il me dis "undefined reference to '_strcat_s'". Si j'utilise "strcat" le programme tourne, mais le problème est le même qu'au début.
Les 2 autres propositions que tu as faites ne sont pas utilisable car je ne lance pas de programme dans le répertoire, mais je récupère des informations ( capacité total et espace libre restant ).

En passant directement par l'invit de commande de Windows, lorsque je tape "cd D:\\" ou "cd D:", rien ne se passe, il retourne juste à la ligne sans changer le lecteur. Pour qu'il change le lecteur, il faut juste taper "D:". Je ne sais donc pas comment faire pour changer le répertoire dans le programme en C, car si j'utilise "system("D:")", il ne change pas le répertoire où sont exécutés les autres commandes. J'espère avoir été compréhensible. S'il faut plus de précisions, je peux répondre aux questions.
dimanche 7 février 2010 à 20:55:43 | Re : Changement de répertoire impossible

nanonavich

moi non plus rien arrive si je je fais
cd D:\\
"cd" ses pour changer dossier
si tu fait


c) d: <enter>
c) cd\ <enter>
tu devrais te retrouver sur d:\
mais ce n ai pas le dossier par default
si tu execute un autre program tu va devoir tout recommencer!

en dos dans autoexec.bat
PATH d:\

mais en windows ses un autre affaire
tu peut essayer se lien

http://www.computerhope.com/issues/ch000549.htm

sinon en programmation

tu lui dit le chemin
ssprintf(def,"d:\\a.txt");
fp=fopen(def,"r");
dimanche 7 février 2010 à 22:07:56 | Re : Changement de répertoire impossible

Mowti

Réponse acceptée !
Enfaite, j'ai trouvé une solution.... simple. La fonction GetDiskFreeSpace prend comme input le lecteur sur lequel on veut l'exécuter, il suffisait donc de mettre le bon chemin d'accès. ( ça m'apprendra à utiliser des exemples sans regarder les syntaxes des fonctions utilisées )

Code C/C++ :
BOOL d = GetDiskFreeSpace("D:\\", NULL, NULL, &FreeCluster, &TotalCluster);


Cette discussion est classée dans : répertoire, changement, impossible


Répondre à ce message

Sujets en rapport avec ce message

Impossible de créer un répertoire sous Windows [ par JejeLand ] Salut,Drôle de problème, j' essai de créer un rep nommé "aux" sous windows (XP ou Vista) mais impossible quelque soit l' endroit où je le crée.J'ai fa Changement de répertoire [ par laetitiavincent ] BonjourJ'aurais besoin d'aideJe dois lancer un programme obligatoirement sous la racine c:/, or mon exécutable est dans un autre répertoire. Donc je v Changement de répertoire courant [ par Gimli ] Bonjour, je voudrais juste savoir comment faire pour que le répertoire courant soit le répertoire parent du répertoire courant actuel (en utilisant se Lecture d'un fichier txt [ par Darklecon ] Chers amis de la troisième lettre de l'alphabet bonjour, J'ai écrit une petite fonction, copy_rep, permettant de copier un répertoire temp vers un changement de type [ par jimonnet ] Bonjour,je precise que je travaille sous c++,Y-a-t-il un moyen de transformer en inten char ??Pour mon programme j'ai besoin d'afficher a l'ecran (fen Tester présence répertoire [ par clementga ] Bonjour,J'ai fait un petit programme en C, et je cherche à tester la présence d'un répertoire, comment puis je faire ?Merci programme c qui affiche le contenu de répertoire d'un disque et trier les fichiers dans un tableau [ par delpieroitalia ] merci impossible de convertir const char * en char * const [ par wallie0703 ] Bonjour je n'arrive pas a compiler mon projet car il ya un problème de conversion         C843_CST(ID_, AxisName_.c_str(), "M-232.17" ); -->error C266 lancement IE7 impossible à partir de l'URL d'une application tierce [ par sekh47 ] Bonjour ! Depuis la MAJ de XP SP3, je ne peux plus me connecter via IE7 (Version 7.0.5730.13) (pour des mises à jour, par ex.) aux sites de logiciels


Nos sponsors


Sondage...

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 : 3,448 sec (3)

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