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

MFC Discussion :

Prb de chemin relatif


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut Prb de chemin relatif
    Bonjour,
    je désire référencer dans mon programme le chemin d'un fichier en relatif. qd j'exécute mon programme à partir de visual c++6 mon programme trouve bien mon fichier.
    Par contre, si je veux exécuter mon programme en appelant mon exécutable à partir d'un fénêtre DOS. Cette fois si le fichier n'est pas trouvé.

    Comment faire pour que le fichier soit bien trouvé dans les deux cas.

    Ma spécification du chemin:
    const char FEDERATION_FILE[] = "AvionRadar.fed";

    Arborescence :

    Aircraft (dossier projet)
    --> {
    --------Fichier.fed (Fichier à lire)
    --------Release (dossier ou ce trouve l'executable après compilation)
    -------->{
    -------------- Aircraft.exe (exécutable)
    ----------}
    ---- }

    (PS: Si ce n'est pas clair dite le moi)

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour

    Lorsqu'on lance un programme depuis VC++, le répertoire courant est celui du projet : le répertoire qui contient les fichiers .vcproj et/ou .sln. Si on lance un programme en double-cliquant directement dessus ou en lançant en ligne de commande, le répertoire courant sera celui de l'application.

    Il y a plusieurs solutions pour résoudre ce problème, la plus simple selon moi, c'est d'imposer que le fichier .fed soit dans le même répertoire que l'application
    Sinon, on peut aussi lancer le programme depuis le dossier Aircraft :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd Aircraft
    Release\Aircraft.exe
    On peut aussi imaginer la solution suivante : S'il n'y a pas de fichier .fed dans le dossier de lancement, alors l'application se met à chercher dans les répertoires proches si le fichier voulu est présent ou invite l'utilisateur à chercher à sa place.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut
    merci,

    j'ai une autre question :

    Comment connaitre le chemin dans lequel l'exécutable est exécuter.

    Par exemple dans l'arbo du dessus il doit me retourner :

    Aircraft\Release

    merci

  4. #4
    Membre régulier

    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2002
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 216
    Points : 120
    Points
    120
    Par défaut
    je crois que dans le nom du fichier si l'on met la référence au dossier parent par "../" cela fonctionne : ex : nomfichier = "..\\Fichier.fed" ;
    dans ce cas il ira chercher le fichier dans le dossier parent...

    A vérifier !

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Il existe une fonction du genre GetWorkingDirectory(...) il me semble qui renvoie le chemin depuis lequel a été lancé l'appli. Je ne connais pas sont prototype exact. Ca doit pourvoir se toruver sur msdn ou même sur developpez.com
    Citation Envoyé par lucky
    je crois que dans le nom du fichier si l'on met la référence au dossier parent par "../" cela fonctionne : ex : nomfichier = "..\\Fichier.fed" ;
    dans ce cas il ira chercher le fichier dans le dossier parent...
    Oui cette méthode fonctionne, mais du coup, si le fichier et l'appil sont dans le même fichier, l'appli ne va pas toruver le fichier.

Discussions similaires

  1. Raccourci Chemin relatif pour la cible
    Par rabobsky dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 07/11/2005, 13h57
  2. ODBC - Tables liées et chemin relatif vers le .dsn
    Par Tententai dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2005, 13h53
  3. [Plugin Tomcat] Chemin relatif
    Par cloogy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 01/03/2005, 16h26
  4. [XSL-FO] Chemin relatif d'une image
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/08/2004, 13h25
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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