IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

depuis quel répertoire est lancé mon exe


Sujet :

C++

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut depuis quel répertoire est lancé mon exe
    bonjour
    est ce qu'il est possible de savoir depuis quelle repertoire est lance mon executable

    merci

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    getcwd() est ton ami

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Attention, ça donne le répertoire courant, mais pas nécessairement celui où se trouve l'Exe.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par cortex59 Voir le message
    ... depuis quelle repertoire est lance mon executable
    C'est le répertoire courant non ? Ou bien c'est moi qui n'ai pas compris la question ?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Quand un débutant pose la question, on n'en est jamais sûr.

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Quand un débutant pose la question, on n'en est jamais sûr.
    Allons allons, un membre confirmé ...

  7. #7
    En attente de confirmation mail
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 348
    Points
    348
    Par défaut
    Je confirme la remarque de Medinoc.

    Par contre si je ne m'abuse, la première chaîne de caractère de argv comprend le nom complet de l'exécutable.

    En tout cas, je n'ai pas encore à ce jour de problème avec argv[0], mais il se peut que dans certain cas argv soit null, et là je sèche.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Allons allons, un membre confirmé ...
    Ah en effet, je n'ai vu ça qu'après ma dernière réponse. Le style de son message m'a induit en erreur...
    Citation Envoyé par JeromeBcx Voir le message
    Par contre si je ne m'abuse, la première chaîne de caractère de argv comprend le nom complet de l'exécutable.

    En tout cas, je n'ai pas encore à ce jour de problème avec argv[0], mais il se peut que dans certain cas argv soit null, et là je sèche.
    argv[0] n'est absolument pas garanti contenir le chemin complet. Il peut aussi bien contenir juste le nom (et pas celui de l'exe, mais celui qui a été tapé: En cas d'alias, ça fait une différence) ou bien rien du tout.

  9. #9
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    j'ai essayer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <unistd.h>
    char * getcwd (char * buf, size_t size);
    microsoft visual c++ n'aime pas ce qui a dans le include

    ca ne fonctionne pas, je travail sous windows
    sur le lien de getcwd c dans la categorie linux

    le repertoire courant m'ira tres bien
    merci

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    unistd.h n'existe pas sous Windows.
    La version Microsoft de getcwd() est déclarée dans direct.h.

  11. #11
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    OK pour direct.h

    donc j'ai essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char * getcwd (char * buf, size_t size);
    je doit recuperer ou le repertoire courant?
    ceci ne fait rien!
    je ne peu meme pas mettre un point d'arret sur cette ligne

    merci

  12. #12
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    Je reviens sur ce post car en effet c'etait le pas le chemin du repertoire courant que je souhaite mais plutot celle de l'executable

    des idées?

    merci

  13. #13
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Comme tu utilises Visual C++ donc Windows, GetModuleFileName donne le chemin complet du processus courant. Tu peux ensuite extraire facilement le répertoire (_splitpath peut t'aider dans cette tâche).

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    GetCurrentDirectory() (voir MSDN) renvoi le repertoire courant. Si ca peut t'aider, on sait jamais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. savoir depuis quel email est ouvert un lien
    Par mapmip dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 08/03/2013, 16h22
  2. Réponses: 2
    Dernier message: 01/08/2010, 22h01
  3. En quel langage est ecrit un .exe ?
    Par Djohn dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 23/10/2008, 11h09
  4. Quel hébergement est approprié à mon problème?
    Par Mynautor dans le forum Hébergement
    Réponses: 14
    Dernier message: 19/10/2007, 11h46
  5. Réponses: 5
    Dernier message: 15/06/2007, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo