Bonjour à tous!
Voila: je fais un programme et j'aurais voulu savoir si quelqu'un ne connaitrait pas une API capable de récupérer le chemin complet de l'exécutable dans lequel elle est...
Merci à tous et bon week-end!!
Bonjour à tous!
Voila: je fais un programme et j'aurais voulu savoir si quelqu'un ne connaitrait pas une API capable de récupérer le chemin complet de l'exécutable dans lequel elle est...
Merci à tous et bon week-end!!
Tu peux déjà récupérer le nom de l'exécutable par argv[0], il me semble.
Pour le chemin : http://man.developpez.com/man3/getcwd.3.php
[alkama] quelqu'un est allé voir la guerre des mondes?
[@Chrisman] j'espère pour spielberg
--- bashfr.org
Il s'y trouve aussi parfois une indication du chemin. Mais celui qui lance le programme peut y mettre n'importe quoi sous Unix comme sous Windows.Envoyé par zooro
Il n'y a a priori aucune relation entre le répertoire courant et le répertoire où se trouve l'exécutable.Pour le chemin : http://man.developpez.com/man3/getcwd.3.php
Il n'y a aucune méthode sûre et portable.
Il y a des méthodes non portables (je ne sais plus quoi pour Windows, /proc/self/exe est un lien symbolique vers l'exécutable sous Linux, il y a parfois moyen de récupérer l'info en accédant à l'éditeur de liens dynamique sous Unix,...) et il y a des moyens portables mais au résultat plus ou moins garanti (utiliser argv[0] et la variable d'environnement PATH, passer par un script...) et il y a les moyens traditionnels de la plateforme d'éviter de se poser la question (base de registres de Windows, configuration à un endroit fixe ou script modifié à l'installation sous Unix).
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Oui, je l'avais déjà fait avec un démon sous Linux... PostgreSQL, par exemple, fait ça pour donner des stats.Envoyé par Jean-Marc.Bourguet
[alkama] quelqu'un est allé voir la guerre des mondes?
[@Chrisman] j'espère pour spielberg
--- bashfr.org
Mon prog n'est prévu que pour windows pour l'instant (Dev Cpp). Donc si qqun connait une méthode spécifique à windows, c'est volontiers
Je redis pour argv[0]
@++
Trouvé l'API pour windows:
GetModuleFileName(HINSTANCE, char[MAX_PATH], MAX_PATH);
argv fonctionne, masi seulement pour les applications console (main), pas pour la WinMain.
Voilà...et ça marche! [résolu]
Il y n'y a pas de méthode portable. argv[0] retourne soit :Envoyé par N3odyme
- l'adresse d'une chaine vide ("")
- l'adresse du nom du programme ("monappli")
- l'adresse du nom avec le chemin complet ("/monchemin/mon appli")
Pas de Wi-Fi à la maison : CPL
Soit un chemin relatatif, soit n'importe quoi d'autres.Envoyé par Emmanuel Delahaye
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager