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 :

[debutant] recuperer chemin du repertoire courant getcwd


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut [debutant] recuperer chemin du repertoire courant getcwd
    bonjour
    je cherche a recuperer le chemin complet ou un programme s'excute
    j'utlise getcwd de la maniere suivante


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    long size;
    	char *buf;
    	char *ptr;
     
    	size = pathconf(".", _PC_PATH_MAX);
    	if ((buf = (char *)malloc((size_t)size)) != NULL)
    	{
        	ptr = getcwd(buf, (size_t)size);
    	}

    dans ptr j'obtiens le chemin mais il se trouve dans la forme
    /cygdrive/d/code/102
    j'aimerais saoir comment est ce que je peux avoir le chemin sous la forme
    D:/code/102
    histoire de pourvoir ouvrir un fichier qui se trouvera systematiquement dans le meme repertoire
    merci d'avance!!!

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    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 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Ben, je ne vois pas où est le problème...
    Tant que tu es sous cygwin, le répertoire /cygdrive/d/code/102 est bien le répertoire courant...

    Par contre, là où est le problème, c'est que répertoire courant != répertoire du programme.

    Sous un OS unixoïde, tu n'as aucun moyen sur de récupérer le chemin d'accès de l'exécutable.
    Sous Win32, GetModuleFileName(NULL) te donne toujours le chemin d'accès complet de l'EXE, d'où tu peux extraire le chemin du dossier.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    alors pour pourvoir ouvrir le fichier qui s'apelle "param.txt" qui est dans le meme repertoire je fais quoi???
    je dois fournir a fopen l'adresse du fichier de la forme D:/code/102/param.txt
    sinon le "fopen" ne compredra pas.
    l'objectif a terme est de creer un repertoire comprenant le fichier param.txt et mon executable et que je puisse les exporter sur n'importe quel disque de mon pc et sur n'importe quel autre pc!!!!

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Et si tu donne uniquement le nom du fichier à ouvrir ? Si le fichier est au même emplacement que l'exécutable je ne vois pas le problème pour cette pratique, c'est d'ailleurs ce que je fait souvent !

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    merci ca marche!!!
    par contre qd je l'execute sur un autre poste il me demande la cygwin1.dll!!!
    oups je ne comprends pas pourquoi...

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par darkman10
    par contre qd je l'execute sur un autre poste il me demande la cygwin1.dll!!!
    oups je ne comprends pas pourquoi...
    Bin c'est qu'il te manque tout simplement la DLL, moi a ta place je metterais également cette DLL dans le même répertoire que le programme pour être sûr du coup

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    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 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Citation Envoyé par darkman10
    je dois fournir a fopen l'adresse du fichier de la forme D:/code/102/param.txt
    sinon le "fopen" ne compredra pas.
    Ben si, sous Cygwin, le fopen() comprend.

    par contre qd je l'execute sur un autre poste il me demande la cygwin1.dll!!!
    oups je ne comprends pas pourquoi...
    Ben sous Cygwin, il faut la DLL de Cygwin, c'est aussi simple que ça.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Merci a tous pour vos reponses
    tous les trucs on marché !!!
    le fwrtite marche aussi dans le repertoire ou se trouve l'EXE!!!
    merci beaucoup les amis!!!

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Au plaisir

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    attention toutefois quand vous faite appel a partir d'un autre repertoire a votre executable a partir d'un shell l'executable va chercher le fichier param non pas dans le repertoire ou il se situe mais dans le repertoire d'appel!!!!
    exemple si dans votre fenetre de commande vous avez
    U:\
    et que vous tapez la commande suivante
    D:\simulateur.exe
    he ben il va chercher les ficher de parametres dans U:\ et pas dans D:\

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

Discussions similaires

  1. [XML] Chemin du Repertoire courant
    Par ti_angelo dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/07/2009, 15h39
  2. probleme pour recuperer le chemin du dossier courant
    Par HoB dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/08/2007, 11h22
  3. Recuperation du repertoire courant et utilisation
    Par Kikumaru dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 13/06/2007, 15h07
  4. recuperer le chemin du repertoire de la base de donnee
    Par Chromatic dans le forum Access
    Réponses: 5
    Dernier message: 24/02/2006, 14h04
  5. Récupérer le répértoire courant
    Par Belegkarnil dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 19/12/2005, 05h55

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