Эй, я пишу программу (своего рода вещь типа просмотра электронной книги) и загружает текстовые файлы из папки, в которой находится исполняемый файл. Это дает мне немного проблемы, поскольку, если я запустил программу из другого каталога с помощью команды «./folder/folder/program», например, моя программа не найдет текст, потому что рабочий каталог неверен. У меня не может быть абсолютного каталога, потому что я хочу, чтобы программа была переносной. Есть ли способ получить точный каталог, из которого выполняется исполняемый файл, даже если он был запущен из другого каталога. Я слышал, что можно комбинировать argc [0] и getcwd(), но argc усекается, когда в каталоге есть пробел (я думаю?), Поэтому я хотел бы избежать этого, если это возможно.Справочник по запущенной программе на Linux?
Я на Linux с помощью г ++, Thanx заранее
argc - количество аргументов; argv - вектор аргумента (массив указателей на строки). argv [0] не усекается пространствами; argv [0] выбирается программой, которая запускает программу и не обязательно имеет какое-либо отношение к пути программы. Не добавляйте getcwd(), если argv [0] запускает '/'. –
У вас есть доступ к библиотеке boost? –
Подождите секунду. Вам нужен «исполняемый путь» или «каталог, из которого выполняется исполняемый файл»? –