MFC

작업디렉토리 얻어오기/설정하기

hoiogi 2010. 9. 6. 14:45


프로그램의 작업 디렉토리와 관련된 함수는 아래와 같습니다. 

GetCurrentDirectory 함수 : 현재의 작업 디렉토리를 얻어온다. 
SetCurrentDirectory 함수 : 작업디렉토리의 경로를 셋팅한다. 

일반적으로 작업디렉토리는 파일이 실행된 경로가 지정됩니다. 
아래는 작업디렉토리의 변경이 일어나는 대표적인 예인 CFileDialog 대화상자를 이용한 경우입니다 

참고하시면 될 듯 싶습니다. 


    char path[MAX_PATH] = {0}; 
    // 현재의 작업디렉토리를 저장한다. 
    GetCurrentDirectory(MAX_PATH, path); 

    // CFileDialog 를 Open 모드로 생성한다. 
    CFileDialog dlg(TRUE); 
    if(dlg.DoModal()==IDOK){ 
                // 사용자가 폴더를 옮겨가며 특정 파일을 지정 
                // 이경우 작업폴더가 변경됨. 
                CString str = dlg.GetFileName(); 
                //얻어온 파일과 관련된 코드 추가.............. 
                
                // 이전에 저장했던 작업디렉토리 경로를 되돌려 셋팅 
                SetCurrentDirectory(path); 
    }