Вопрос № 139837: Здравствуйте. Подскажите пожалуйста как из кода на С++ определить место нахождение запускаемого скрипта (аналог basedir на shell)?
То есть если я в переменную PATH загоняю путь /my/program/path/bin
а в папке bin есть программа "super&quo...Вопрос № 139859: Подскажите пожалуйста, какие есть книги-задачники по С++, в которых даются задачи от самых простых до среднего уровня ?...
Вопрос № 139.837
Здравствуйте. Подскажите пожалуйста как из кода на С++ определить место нахождение запускаемого скрипта (аналог basedir на shell)?
То есть если я в переменную PATH загоняю путь /my/program/path/bin
а в папке bin есть программа "super", то при запуске программы super из любого места я должен всегда получать "/my/program/path/bin" путь. Как это осуществить? Ничего на ум не приходит.
Спасибо.
Отправлен: 11.07.2008, 23:47
Вопрос задал: Funrul (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Хватов Сергей
Здравствуйте, Funrul!
Простого пути нет.
В ARGV[0] может быть передано что угодно.
Если у вас linux, то можно обратиться к /proc/self/exe - это символическая ссылка на файил запущеного процесса. После readdir и dirname вы получите путь.
В скриптах это не пройдёт - в лучшем случае получите указатель на сам интерпретатор. В bash можно использовать $BASH_SOURCE: script_dir="`dirname "$BASH_SOURCE"`"
Ответ отправил: Хватов Сергей (статус: Практикант)
Ответ отправлен: 12.07.2008, 11:07 Оценка за ответ: 3 Комментарий оценки: Решение через сторонний метод (в данном месте это использовать вспомогательный скрипт) известен. Но хотелось бы получить ответ без использования дополнительных материалов. Неужели С++ настолько беден что внутри кода нельзя узнать откуда код был запущен... А так спасибо за ответ!
Вопрос № 139.859
Подскажите пожалуйста, какие есть книги-задачники по С++, в которых даются задачи от самых простых до среднего уровня ?
Отправлен: 12.07.2008, 15:07
Вопрос задал: MikeMaster (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Dr_Andrew
Здравствуйте, MikeMaster!
По C++ вообще:
Культин Н.Б. C/C++ в задачах и примерах. - СПб: БХВ-Петербург, 2001. - 288 с.
Правда, в этой книге упор делается именно на Си, а не C++. Есть справочник функций в приложении.
Если Вы для создания приложений используете RAD для Windows, то можно рекомендовать:
Культин Н.Б. C++ Builder в задачах и примерах. - СПб: БХВ-Петербург, 2005. - 336 с.
Удачи!
Ответ отправил: Dr_Andrew (статус: Студент)
Ответ отправлен: 13.07.2008, 07:30 Оценка за ответ: 4