실행파일이 있는 디렉토리로 이동하는 함수가 있나요?

neohwang의 이미지

실행파일 명이 test.exe 일 때,

해당 디렉토리에서 ./test.exe 를 실행 시키거나
절대경로나 상대경로를 사용하여 실행 시켰을 때

test.exe 프로그램 내에서 home directory를 test.exe가 있는 위치로 옮겨주는 함수가 혹시 있나요?

현재는 argv[0]을 분석하여 home directory를 옮기도록 만들었는데,, 혹시 함수가 있나 해서요...

그럼.. 많은 도움 부탁드립니다.

참, 환경은 UNIX 계열 및 Windows 계열 다 필요합니다.

pynoos의 이미지

sh 에서라면..

# Change to script directory
DIRNAME=`dirname $0`
test -n "$DIRNAME" && cd "$DIRNAME"

와 같이 쓸 수 있을 겁니다.

c 함수에서도 dirname 이라는 것이 있으므로, argv[0] 값에 대하여 dirname을 취한뒤 이동하면 될 것 같습니다.

단 shell 명령어 dirname 과 c 의 dirname 은 약간 다른 결과를 줄지도 모릅니다.