[질문] 현재 디렉토리의 위치 알아 내기.
글쓴이: hurryon / 작성시간: 수, 2003/06/04 - 10:14오전
씨로 작업하고 있습니다. 셸은 배쉬 환경입니다.
현재 디렉토리의 위치을 변수에 담고 싶어서입니다. 셸상에서
echo $PWD 을 실행하면 현재 디렉토리가 출력이 되기는 하지만
씨에서 이 현재 디렉토리을 변수에 담고 싶습니다.
#include <stdio.h> int main(void) { system("echo $PWD"); return(0); }
위와 같이 하니 단지 화면에 현재 디렉토리을 출력만 하더군요. 저 위치을
변수에 담아야 겠는데...으흠.
현재 작업 디렉토리의 위치을 알아야 하는 이유는
int main(int argc, char *argv[]) { FILE *in, *out; ... ... ... sprintf(query_buffer, "load data infile \'%s\' into table saup fields terminated by '\t'", argv[2]); if(mysql_query(&mysql, query_buffer)) db_error(); ... ... ...
위와 같은 방법으로 쿼리을 날리려고 하는데 단지 argv[2]라고 입력을
하니 현재 디렉토리을 기준으로 인자값을 받지 않고
hurryon_db 의 디렉토리을 기준으로 인자값을 받더군요.
ㅡ.ㅡ;;
혹시 system이나 popen 등을 쓰지 않고도 현재 작업 디렉토리의 위치을
알고 있는 씨 환경변수(?)와 같은것이 존재 하는지요?
:-)
Forums:
man getcwd
man getcwd
환경변수를 읽어들일때는 getenv라는 call도 있습니다.man g
환경변수를 읽어들일때는 getenv라는 call도 있습니다.
man getenv
^^
댓글 달기