Как узнать, где находиться файл, который запустил программу. Язык с++

Мне нужно узнать в какой директории находиться *.cpp файл, который запустил программу. Есть ли такая возможность.


Ответы (1 шт):

Автор решения: Вадим Александру

Можно таким образом

#include <iostream>

using namespace std;

    int main(int argc, char* argv[]) {
        string current_dir(argv[0]);
        int pos = current_dir.find_last_of("/\\");
        cout << "Директория выполняющегося бинарника: " << current_dir.substr(0, pos) << endl;
        cout << "Директория текущего .cpp файла: " << __FILE__ << endl;
        return 1;
    }

UPD: __FILE__ - получается на этапе компиляции и оставляется статичным вне зависимости от того как и откуда запускался бинарник. Т.е либо через консоль, либо через "Браузер"

→ Ссылка