LINUX.ORG.RU

[С, С++] Имя файла (argv[0])


0

0

Подскажите, как проще всего определить откуда запустился мой файл (Нужно открыть его на чтение и считать кой какие данные).
В argv[0] я вижу просто фрагмент командной строки:
1 myfile
2 ../bin/myfile
3 /usr/bin/myfile

В первом случае мне нужно пройти по всем каталогам PATH и найти его ?
Есть ли стандартные средства POSIX, UNIX ?


Re: [С, С++] Имя файла (argv[0])

Универсального способа нет.

Под Линухом 2.2 и 2.4 есть симв. ссылка /proc/{pid}/exe, указывающая на
файл.

Под Линухом 2.0 и раньше ссылка /proc/{pid}/exe указывает на инод этого файла.


man 5 proc

Die-Hard ★★★★★ ()

Re: [С, С++] Имя файла (argv[0])

Вообще не уверен, т.к. не пробовал, но может где-нибудь в окружении это лежит:
getenv("PWD");
-- попробуй - может поможет :=))

fendor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.