Chcąc uzyskać ścieżkę do “samego siebie” należy funkcji main przekazać następujące argumenty: int argc, char *argv[].
Zmienna argc to ilość parametrów przekazanych do programu, natomiast tablica argv przechowuje przekazane parametry. Element o indeksie 0 tablicy argv to zawsze ścieżka naszego programu, która możemy np skopiować do obiektu typu string
#include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char *argv[]) { string s = argv[0]; cout << "argv[0] >> " << s << endl; return 0; }
Wynik działania:
F:\>c:\Dev-Cpp\Projekt1.exe
argv[0] >> c:\Dev-Cpp\Projekt1.exe