2014-04-25 2 views
0

간단한 컨텍스트 제공 : 텍스트 파일과 BMP 파일을 사용하는 프로그램을 작성하고 있습니다. 텍스트 파일의 경우 클래스를 관리하기 위해 제공되었으며 BMP 조작을 위해 EasyBMP를 사용합니다. 내가 가진 문제는 전체 경로를 제공하지 않으면 파일이 잘못된 폴더에 만들어지고 있다는 것입니다.잘못된 폴더에 파일 생성 중

예 :

#include "EasyBMP.h" 
int main(){ 
    BMP picture; 
    picture.SetSize(640,480); 
    picture.WriteToFile("picture.BMP"); 
return 0; 
} 

예상 결과 : 내 프로젝트 폴더 어딘가에서 만든 640 × 480 BMP 파일 (C : \ 사용자 [사용자] \ 문서 \ C++ \ TP 1)

실제 결과 : 640 × 480 BMP 이클립스 폴더 (C : \ Users [사용자] \ Documents \ Eclipse)에서 생성 된 파일

디스크에 쓰는 다른 파일에서도 마찬가지입니다. 그것은 다른 프로젝트에서 잘 작동했기 때문에 어딘가에 어리석은 뭔가가 있다고 생각하지만 해결책을 찾을 수 없었습니다.

편집 : 정확하게 동일한 코드가 다른 프로젝트에서 올바르게 작동합니다.

답변

0

전체 경로 이름을 지정하지 않으면 파일은 프로세스의 현재 폴더에 저장됩니다. Eclipse에서이를 변경할 수 있습니다 (프로세스를 실행할 때 실행할 폴더를 지정하십시오).

파일이 EXE가있는 위치 또는 EXE 주변에 저장되도록하려면 폴더를 직접 찾을 수 있습니다 (main에 대한 첫 번째 인수는 EXE 파일의 위치 임).

0

프로그램은 작업 디렉토리에 파일을 씁니다. 그것은 상대 경로를 사용하고 상대 경로가 작업 디렉토리와 관련되어 있기 때문입니다.

코드에 전체 경로를 지정하거나 프로그램을 실행할 때 작업 디렉터리가 원하는 값으로 설정되어 있는지 확인하십시오.

+0

원하는 작업 디렉토리를 설정하는 데이 옵션은 어디에 있습니까? – user3571628

+0

어디에서 파일을 쓰시겠습니까? 작업 디렉토리 또는 exe 파일이있는 디렉토리? –

+0

필자가 몰랐던 마법의 단어는 "작업 디렉토리"였습니다. 끈적 끈적하고 문제가 해결되지 않았다. 내 무지한 도움을 위해서, exe 파일로 디렉토리에 어떻게 쓸 수 있습니까? – user3571628

관련 문제