현재 실행 파일의 경로를 알아내기 위해서 main 의 argv[0] 에서 파일명을 뺀 파일 경로를 얻고 싶습니다. 어떻게 하면 될지 전혀 감이 안오네요.
msvc 와 mingw, linux 에서 다 같은 결과를 얻으려면 어떻게 해야 할까요?
http://www.opengroup.org/onlinepubs/000095399/functions/dirname.html
boost 의 regex 를 써야 하나 하고 끙끙대고 있었습니다. 감사합니다. ^^
Leo.
MSVC 에선 libgen.h 가 없군요.
MSVC 에서는 어떻게 해야 하나요? -_-;
#include 〈stdio.h> #include 〈strings.h> int main(int argc, char **argv){ int i=0; printf("실행파일 전체경로:%s\n",argv[0]); for(i=strlen(argv[0]);i>=0;i--){ #ifdef __WIN32__ if(argv[0][i]=='\\'){ #else if(argv[0][i]=='/'){ #endif break; } } if(i!=-1){ argv[0][i]=0; printf("경로:%s\n",argv[0]); } printf("실행파일명:%s\n",argv[0]+i+1); }
...
http://www.opengroup.org/onlinepubs/000095399/functions/dirname.html
이렇게 쉬운 방법이.. OTL
boost 의 regex 를 써야 하나 하고 끙끙대고 있었습니다.
감사합니다. ^^
Leo.
윽.. 그런데
MSVC 에선 libgen.h 가 없군요.
MSVC 에서는 어떻게 해야 하나요? -_-;
Leo.
#include #include int
#include 〈stdio.h> #include 〈strings.h> int main(int argc, char **argv){ int i=0; printf("실행파일 전체경로:%s\n",argv[0]); for(i=strlen(argv[0]);i>=0;i--){ #ifdef __WIN32__ if(argv[0][i]=='\\'){ #else if(argv[0][i]=='/'){ #endif break; } } if(i!=-1){ argv[0][i]=0; printf("경로:%s\n",argv[0]); } printf("실행파일명:%s\n",argv[0]+i+1); }