En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
:-/
Franck Guillaud
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto wrote:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
En plus, c'est HS :-)
Franck,e-
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto <toto@toto.com> wrote:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers
/home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin :
- /toto/titi/tata
ou
- /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de
chemin d'un exécutable n'a pas bcp sens.
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
En plus, c'est HS :-)
Franck,e-
Toto
Franck Guillaud wrote:
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto wrote:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
En plus, c'est HS :-)
Franck,e-
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
Valentin
Franck Guillaud wrote:
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto <toto@toto.com> wrote:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers
/home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin :
- /toto/titi/tata
ou
- /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de
chemin d'un exécutable n'a pas bcp sens.
En plus, c'est HS :-)
Franck,e-
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
En plus, c'est HS :-)
Franck,e-
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
Valentin
Jean-Marc Bourguet
Toto writes:
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
Il n'y a pas moyen de le faire en C++ standard.
Le faire est possible sur certaine plateforme, dans le cas de Unix je te conseille de reposer ta question sur
fr.comp.os.unix
(ou on va te dire "faut pas faire ca")
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Toto <toto@toto.com> writes:
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
Il n'y a pas moyen de le faire en C++ standard.
Le faire est possible sur certaine plateforme, dans le cas de Unix je
te conseille de reposer ta question sur
fr.comp.os.unix
(ou on va te dire "faut pas faire ca")
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Plutot le 2ème cas mais bon ca serait pas dérangeant :-)
C'est po hors sujet j'aimerais le faire en C++ :-D
Il n'y a pas moyen de le faire en C++ standard.
Le faire est possible sur certaine plateforme, dans le cas de Unix je te conseille de reposer ta question sur
fr.comp.os.unix
(ou on va te dire "faut pas faire ca")
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
drkm
Toto writes:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la simple récupération du répertoire courant, mais elle peut t'intéresser si tu fait d'autres manipulations en rapport avec le FS. Tu la trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant, dans un programme destiné à une seule plate-forme, un appel à l'API de ton OS sera plus simple, si tu l'encapsules comme il faut.
--drkm
Toto <toto@toto.com> writes:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la
simple récupération du répertoire courant, mais elle peut t'intéresser
si tu fait d'autres manipulations en rapport avec le FS. Tu la
trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant,
dans un programme destiné à une seule plate-forme, un appel à l'API de
ton OS sera plus simple, si tu l'encapsules comme il faut.
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la simple récupération du répertoire courant, mais elle peut t'intéresser si tu fait d'autres manipulations en rapport avec le FS. Tu la trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant, dans un programme destiné à une seule plate-forme, un appel à l'API de ton OS sera plus simple, si tu l'encapsules comme il faut.
--drkm
Toto
drkm wrote:
Toto writes:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la simple récupération du répertoire courant, mais elle peut t'intéresser si tu fait d'autres manipulations en rapport avec le FS. Tu la trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant, dans un programme destiné à une seule plate-forme, un appel à l'API de ton OS sera plus simple, si tu l'encapsules comme il faut.
--drkm
je vais voir merci :-)
Le programme n'est pas destiné à qu'une seule plateforme malheureusement :-/
Valentin
drkm wrote:
Toto <toto@toto.com> writes:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la
simple récupération du répertoire courant, mais elle peut t'intéresser
si tu fait d'autres manipulations en rapport avec le FS. Tu la
trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant,
dans un programme destiné à une seule plate-forme, un appel à l'API de
ton OS sera plus simple, si tu l'encapsules comme il faut.
--drkm
je vais voir merci :-)
Le programme n'est pas destiné à qu'une seule plateforme malheureusement
:-/
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Si vous aviez une idée... :-)
La « Boost Filesystem Library » ? C'est beaucoup plus large que la simple récupération du répertoire courant, mais elle peut t'intéresser si tu fait d'autres manipulations en rapport avec le FS. Tu la trouveras à <URL:http://www.boost.org/libs/filesystem/doc/index.htm>.
Mais s'il s'agit juste de récupérer le nom du répertoire courant, dans un programme destiné à une seule plate-forme, un appel à l'API de ton OS sera plus simple, si tu l'encapsules comme il faut.
--drkm
je vais voir merci :-)
Le programme n'est pas destiné à qu'une seule plateforme malheureusement :-/
Valentin
Fabien LE LEZ
On Wed, 26 May 2004 15:37:23 +0200, Toto wrote:
Le programme n'est pas destiné à qu'une seule plateforme malheureusement :-/
Dans ce cas, généralement on regroupe les wrappers vers les fonctions spécifiques à l'OS dans un module, et une version de ce module par OS.
-- ;-) FLL, Epagneul Breton
On Wed, 26 May 2004 15:37:23 +0200, Toto <toto@toto.com> wrote:
Le programme n'est pas destiné à qu'une seule plateforme malheureusement
:-/
Dans ce cas, généralement on regroupe les wrappers vers les fonctions
spécifiques à l'OS dans un module, et une version de ce module par OS.
Le programme n'est pas destiné à qu'une seule plateforme malheureusement :-/
Dans ce cas, généralement on regroupe les wrappers vers les fonctions spécifiques à l'OS dans un module, et une version de ce module par OS.
-- ;-) FLL, Epagneul Breton
kanze
Franck Guillaud wrote in message news:<40b48cd1$0$3691$...
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto wrote:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
Le SE a toujours suivi un chemin précis pour trouver le programme. On pourrait dire que c'est le chemin. La plupart du temps, quand on veut le chemin, c'est pour trouver d'autres fichiers qui sont censés se trouver dans le même répertoire. Dans ce cas-là, évidemment, les deux chemins se valent.
En plus, c'est HS :-)
Pas du tout. Il a posé bien une question C++.
Malheureusement, la réponse est : ce n'est pas possible.
Qu'il démande précisement pour Unix ou pour Windows, on pourrait dire que la question était HS. (Malheureusement pour lui, autant que je sache, la réponse dans les deux cas reste la même. Il y a peut-être une requête Windows particulière que je ne connais pas, mais je sais que sous Unix, ce n'est pas possible. Au moins, pas dans le cas général ; selon le shell qui l'a invoqué, on pourrait dans certains cas y parvenir.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Franck Guillaud <f_point_guillaud@free.fr> wrote in message
news:<40b48cd1$0$3691$636a15ce@news.free.fr>...
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto <toto@toto.com> wrote:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers
/home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin :
- /toto/titi/tata
ou
- /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion
de chemin d'un exécutable n'a pas bcp sens.
Le SE a toujours suivi un chemin précis pour trouver le programme. On
pourrait dire que c'est le chemin. La plupart du temps, quand on veut le
chemin, c'est pour trouver d'autres fichiers qui sont censés se trouver
dans le même répertoire. Dans ce cas-là, évidemment, les deux chemins se
valent.
En plus, c'est HS :-)
Pas du tout. Il a posé bien une question C++.
Malheureusement, la réponse est : ce n'est pas possible.
Qu'il démande précisement pour Unix ou pour Windows, on pourrait dire
que la question était HS. (Malheureusement pour lui, autant que je
sache, la réponse dans les deux cas reste la même. Il y a peut-être une
requête Windows particulière que je ne connais pas, mais je sais que
sous Unix, ce n'est pas possible. Au moins, pas dans le cas général ;
selon le shell qui l'a invoqué, on pourrait dans certains cas y
parvenir.)
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Franck Guillaud wrote in message news:<40b48cd1$0$3691$...
Toto wrote:
Fabien LE LEZ wrote:
On Wed, 26 May 2004 14:00:15 +0200, Toto wrote:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Non cela ne me donne que ./dosser/monAppli
Et si jamais tu as un racourci de /toto/titi/tata vers /home/user/dossier/monAppli, Tu veux récupérer quoi comme chemin : - /toto/titi/tata ou - /home/user/dossier/monAppli ?
Cette simple question pour dire que sous unix et affiliés, la notion de chemin d'un exécutable n'a pas bcp sens.
Le SE a toujours suivi un chemin précis pour trouver le programme. On pourrait dire que c'est le chemin. La plupart du temps, quand on veut le chemin, c'est pour trouver d'autres fichiers qui sont censés se trouver dans le même répertoire. Dans ce cas-là, évidemment, les deux chemins se valent.
En plus, c'est HS :-)
Pas du tout. Il a posé bien une question C++.
Malheureusement, la réponse est : ce n'est pas possible.
Qu'il démande précisement pour Unix ou pour Windows, on pourrait dire que la question était HS. (Malheureusement pour lui, autant que je sache, la réponse dans les deux cas reste la même. Il y a peut-être une requête Windows particulière que je ne connais pas, mais je sais que sous Unix, ce n'est pas possible. Au moins, pas dans le cas général ; selon le shell qui l'a invoqué, on pourrait dans certains cas y parvenir.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
kanze
Fabien LE LEZ wrote in message news:...
On Wed, 26 May 2004 14:00:15 +0200, Toto wrote:
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Selon la norme, argv[0] doit contenir le nom du programme, non le chemin de l'executable. Comment le système trouve l'executable à partir du nom dépend du système -- sous Unix, par exemple, tu pourrais essayer de lire $PATH, puis émuler ce que fait le système.
Dans la pratique, argv[0] est à peu près n'importe quoi. Sous Unix, par exemple, c'est ce que le programme qui t'invoque décide à te passer -- si c'est un shell classique, ça serait soit le nom, soit le chemin, selon le shell, mais si ce n'est pas un shell, ça peut être à peu près n'importe quoi.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Fabien LE LEZ <gramster@gramster.com> wrote in message
news:<4529b0lkj4874ao8rr2m8214t304bi1o8v@4ax.com>...
On Wed, 26 May 2004 14:00:15 +0200, Toto <toto@toto.com> wrote:
En gros, si je suis dans /home/user et que je lance
./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Selon la norme, argv[0] doit contenir le nom du programme, non le chemin
de l'executable. Comment le système trouve l'executable à partir du nom
dépend du système -- sous Unix, par exemple, tu pourrais essayer de lire
$PATH, puis émuler ce que fait le système.
Dans la pratique, argv[0] est à peu près n'importe quoi. Sous Unix, par
exemple, c'est ce que le programme qui t'invoque décide à te passer --
si c'est un shell classique, ça serait soit le nom, soit le chemin,
selon le shell, mais si ce n'est pas un shell, ça peut être à peu près
n'importe quoi.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
En gros, si je suis dans /home/user et que je lance ./dossier/monAppli, j'aimerais récupérer /home/user/dossier/monAppli
Parser argv[0] ne suffit pas ?
Selon la norme, argv[0] doit contenir le nom du programme, non le chemin de l'executable. Comment le système trouve l'executable à partir du nom dépend du système -- sous Unix, par exemple, tu pourrais essayer de lire $PATH, puis émuler ce que fait le système.
Dans la pratique, argv[0] est à peu près n'importe quoi. Sous Unix, par exemple, c'est ce que le programme qui t'invoque décide à te passer -- si c'est un shell classique, ça serait soit le nom, soit le chemin, selon le shell, mais si ce n'est pas un shell, ça peut être à peu près n'importe quoi.
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34