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

Signaler
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
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

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

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]);
}
Messages postés
127
Date d'inscription
mercredi 18 juillet 2001
Statut
Membre
Dernière intervention
27 octobre 2004

Ou encore :

#include
using std:cout;

void main(int argc, char *argv[])
{
cout << argv[0];
}
Messages postés
246
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
5 août 2004
1
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
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

et sur Devc++?
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

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]);
}
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

'LPCTSTR' est un typedef propre à Windows, remplaces le par 'const char*'.
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

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 !?!
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

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....
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Qu'est ce que tu entends par "l'adresse" ?
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

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"
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
-------------------------------
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);
}