Возможный дубликат:
как найти местоположение исполняемого файла в C
Я хочу, чтобы исполняемый файл мог открыть свой собственный путь; У меня такое чувство, что ответ "вы не можете этого сделать", но я хотел бы, чтобы это было подтверждено!
Я не думаю, что могу использовать getcwd()
, потому что я, возможно, не выполняю его из того же каталога. Я не думаю, что могу использовать argv[0]
, потому что это основано на строке, которая использовалась для ее выполнения. Есть ли другие варианты?
Обоснование
Реальная проблема заключается в том, что я хотел бы разместить исполняемый файл где-нибудь в файловой системе и разместить вместе с ним файл конфигурации по умолчанию. Я хочу, чтобы исполняемый файл мог прочитать его файл конфигурации во время выполнения, но я не хочу жестко указывать это местоположение в исполняемый файл и не хочу, чтобы пользователь должен был устанавливать переменные среды. Если есть лучшее решение этой ситуации, я все уши...