|
하데스 님이 쓰신 글 :
: 이중훈 님이 쓰신 글 :
: : 프로그램중에 이상한 것을 발견하여 질문을 올립니다.
: : chdir(...)을 이용하여 directory를 변경하는데
: : 예를 들면 c:\\test라는 폴더가 있고
: : chdir("c:\\test")라고 하면 폴더를 이동하는데
: : chdir("c:\\test\n")이 되면 폴더 이동이 되지 않습니다.
: : 폴더가 없다고 나오는군요.
: :
: : 제가 text 파일을 열어 특정 data값을 읽어서 필요시 그 data의 폴더로
: : 이동하는데 파일을 읽기하면 data의 뒤에 \n이 붙여지는데
: : 이것때문인지 폴더를 변경하려고 하면 이동이 안됩니다.
: : 다른 방법이 있나요?
: : 제가 아직 잘 몰라서 버벅되고 있습니다.
: : 고수님들의 조언을 부탁드립니다.
:
: chdir("c:\\test\\n") 으로 해 보세요~
답변 감사합니다.
그런데 제가 이동하려는 폴더는 c:\\test입니다.
그리고 만일 test라는 폴더가 없으면 mkdir("c"\\test")하여서
폴더를 만들고 이동합니다.
그런데 파일에서 읽은 data가 "test\n"이기 때문에 폴더를 만들지 못하고
당연히 chdir("c:\\test")도 동작하지 않게 되죠.
제가 잔머리를 써서 방금전에 아래와 같이 만들기는 하였습니다.
no = strlen(ModelName[ModelID]);// ModelName[ModelID]="test\n"입니다.
sprintf(temp1,"%c",ModelName[ModelID][0]);
strcpy(temp,temp1);
for(i=1;i<no-1;i++)
{
sprintf(temp1,"%c",ModelName[ModelID][i]);
strcat(temp,temp1);
}
strcat(CurrModelDirectory, temp); //CurrModelDirectory는 "c:\\"입니다.
Error = chdir(CurrModelDirectory);
if(Error < 0 ) // Directory가 존재하지 않으면
mkdir(CurrModelDirectory); // Directory생성
GetCurrentDirectory(sizeof(temp), temp);
MainStatus->Panel6->Caption = temp;
하지만 조금은 엉성하거든요. 다른 방법이 없나요?
|