반응형
if(pDlg.DoModal() == IDOK)
{
CString str = pDlg.GetFolderPath();
}
위의 코드에서 GetFolderPath()를 부를 경우 에러가 발생한다. 윈도우가 존재 하지 않는다는 이유로.. 아마도 확인을 누르는 순간 데이터만 남고 윈도우는 죽어버리기에 일어나는 현상같다.
이에 GetPathName()로 대체해서 사용하려 하는데.. "파일명"이 너무 맘에 안들것이다.
그래서 이러한 코드로 대체하자!
if(pDlg.DoModal() == IDOK)
{
CString str = pDlg.GetPathName();
CString strFolderPath = str.Mid(0, str.ReverseFind('\\'));
}
이렇게 하면 파일명을 제외한 절대경로를 가져와 사용할 수 있다.
[추가 내용 : CString::Mid() 는 중간의 원하는 문자열만을 뽑아오는 함수이고,
CString::ReverseFinde() 는 함수명에서도 알 수 있듯이, 뒤에서 부터 원하는 문자를
찾아서 그 위치의 인덱스 값을 넘겨주는 함수이다. 한마디로 CString의 함수의 조합을
통해서 원하는 문자열을 찾아온다. ]
반응형
'C & C++ > C & C++' 카테고리의 다른 글
[Tip] 로그인 인증 확인 (0) | 2011.04.28 |
---|---|
[공통] 메모리 누수 추적 (0) | 2011.04.28 |
프린트 인쇄 관련 (0) | 2011.04.28 |
[Tip] 모니터 정보 조사 (0) | 2011.04.28 |
메시지맵(Message Map) 을 사용하지 않고 메시지 처리하는 방법 (0) | 2011.04.28 |
댓글