|
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2
|
|
Узнать путь к директории программы24.05.2015, 12:22. Показов 10444. Ответов 7
Метки нет (Все метки)
Пишу программу на Си под Линухом. Нужно, чтобы файл, который создает программа, сохранялся не в одной с ней директорией, а во вложенной папке. То есть если прога (а именно исполняемый файл) лежит в /prog, то файл должен сохраниться в prog/file.
Единственный способ сделать это, который пришел мне в голову, требует, чтобы программа каким-то образом узнала, где она лежит. Я видел способы сделать это для других языков и для Win, но вот конкретно для Си и Линуха не нашел. Помогите, люди добрые.
0
|
|
| 24.05.2015, 12:22 | |
|
Ответы с готовыми решениями:
7
Как узнать атрибуты файлов и папок директории? Как узнать путь к директории приложения |
| 24.05.2015, 19:30 | |
Сообщение было отмечено HalfBanana как решение
Решение
Параметр argv[0] в функции main(int argnum, char* argc[], char*argv[] ) содержит строку программы с полным путём.
Но это вроде бы не оговорено в стандарте (не помню) и содержимое argv[0] может таковым не быть в некоторых реализациях C
1
|
|
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
||
| 24.05.2015, 20:22 | ||
|
0
|
||
| 24.05.2015, 21:26 | ||
|
В линухе есть ещё переменная среды с именем "_" - тут уже без компромиссов только полный путь, которую тоже можно через argv выцепить (по крайней мере в моих арчах и одном дебе так).
0
|
||
|
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|||
| 24.05.2015, 22:21 | |||
|
про дос и как там было я уже не помню, и, честно говоря, лично мне он давно не интересен (даже просто "академически"), но спасибо, что упомянули, т.к. я о нем и не задумывался(мне не интересен же ), а кому-то может и пригодится. хотя, если тут
0
|
|||
| 24.05.2015, 22:53 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2
|
|
| 25.05.2015, 11:33 [ТС] | |
|
Всем спасибо. argv[0] при простом запуске программы выглядит примерно так ./prog.
Это натолкнуло меня на мысль, что можно при открытии файла в программе указать в его имени ./file/[имя файла] и он создастся в папке file. Собственно, так и оказалось. И, хотя это не дает полный путь к директории программы, с нужной мне задачей справляется. Еще раз всем спасибо.
0
|
|
| 25.05.2015, 11:33 | |
|
Помогаю со студенческими работами здесь
8
Webkitdirectory как узнать путь выбранной директории? Как указать путь к БД, если она расположена в директории программы Как узнать полный путь программы? Как узнать путь своей программы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|