BiG PRObLEM help des pros please!!!!!!

defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004
- 5 oct. 2002 à 18:11
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
- 27 janv. 2003 à 13:57
Comment récupérer dans une chaine ou autre chose le repertoire ou se trouve le programme apres l'avoir lancé.
Je lance le programme et celui cime dit par exemple votre programme se trouve à :"c:\....."..
Si vous avez des idées envoyez moi toutes vos soluces, exemples ou sources....
\->Bye Defkrie !?!

11 réponses

cs_adrien78
Messages postés
23
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
8 décembre 2008

5 oct. 2002 à 18:33
C' est très simple :

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

int main(int argc,char **argv) // 3 arguments
{
printf("CHEMIN => %s" , argv[0]);
}
0
ADPro22
Messages postés
126
Date d'inscription
mercredi 18 juillet 2001
Statut
Membre
Dernière intervention
27 octobre 2004

5 oct. 2002 à 23:55
Ou encore :

#include
using std:cout;

void main(int argc, char *argv[])
{
cout << argv[0];
}
0
sebastienbro
Messages postés
246
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
5 août 2004
2
6 oct. 2002 à 12:31
Ca dépend, si tu utilises C++ Builder, t'as juste a faire :

AnsiString chemin = ExtractFilePath(Application->ExeName);

Et t'a le chemin du répertoire dans la variable chemin

Seb
0
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

6 oct. 2002 à 15:12
et sur Devc++?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

6 oct. 2002 à 15:42
sur dev en ecrivnat quelque chose de cet forme sa marche pas :
void lister(LPCTSTR file);

void main(int argc, char *argv[])

{
lister(argv[0]);
}
0
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
1
6 oct. 2002 à 16:06
'LPCTSTR' est un typedef propre à Windows, remplaces le par 'const char*'.
0
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

6 oct. 2002 à 16:19
en fait jai fait une erreur de programme je cherche a recuperer le repertoire ou s'execute mon programme et nom l'adresse.
Ou si quelqu'un sest effacé les 9 derniers lettres dune chainne
\->Bye Defkrie !?!
0
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

6 oct. 2002 à 16:34
sais tu comment recuperer dans une chaine le repertoire (et nom pas l'adresse) ou s'ecute un programme ou effacer de maniere le plus simple les 9 derniers cararcteres dune chaine....
0
cs_Kaid
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
1
6 oct. 2002 à 16:41
Qu'est ce que tu entends par "l'adresse" ?
0
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

6 oct. 2002 à 17:01
quand tu lance un programme jaimerais recuperer dans une chaine le repertoire ou se situe le programme "du style c://" et non pas l'adresse totale "c://ahhh.exe"
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
27 janv. 2003 à 13:57
-------------------------------
Réponse au message :
-------------------------------

> en fait jai fait une erreur de programme je cherche a recuperer le repertoire ou s'execute mon programme et nom l'adresse.
> Ou si quelqu'un sest effacé les 9 derniers lettres dune chainne
> \->Bye Defkrie !?!
>
>
>
Si c'est sur WIN32 abandonne tout ce que tu as vu auparavant. Il ne faut jamais te fier à la ligne de commande pour savoir où se situe ton exe car ligne de commande peut-être modifiée par le raccourci qui le lance.

char szAppPath[260];

DWORD MyPath(char* psz)
{
char* c = psz + GetModuleFileName(NULL, psz, MAX_PATH); while(*c !'\\') c--; *c 0;
return (c - psz);
}
0