아주 유용한 소스코드일듯하다.
MFC에서 CString형을 이용하여 string을 쉽게 컨트롤 할 수 있다.
이때 경로, 파일명, 확장자 등을 구분하여 출력해야하는 상황이 있는데, 이때 해당 소스코드를 활용하면 될듯하다.
// Type
// 0: 파일 경로만 복사
// 1: 파일 이름만 복사
// 2: 파일 확장자 복사
// 3: 확장자를 뺀 파일명 복사
CString strClip(CString str, int nType)
{
//파일 Full Path를 복사
TCHAR szTmp[256];
StrCpy(szTmp, str);
//파일의 경로만 복사.
PathRemoveFileSpec(szTmp);
CString strTmp = szTmp;
if(nType == 0)
return strTmp;
//파일 이름만 복사
strTmp = str.Right(str.GetLength()-strTmp.GetLength()-1);
if(nType == 1)
return strTmp;
//파일 확장자 복사
int i = strTmp.ReverseFind('.');
CString strTmp2;
if(i > -1)
{
strTmp2 = strTmp.Right(strTmp.GetLength()-i-1);
}
else
{
strTmp2 = _T("");
}
if(nType == 2)
return strTmp2;
//확장자를 뺀 파일명을 복사
strTmp = strTmp.Left(i);
if(nType == 3)
return strTmp;
return _T("");
}
단지 디렉토리 경로일 경우는 파일명에 마지막 디렉토리를 리턴하게 된다.
참조 : http://blog.naver.com/just720?Redirect=Log&logNo=40206748318
2013/11/26 - [[ Topics ]/MFC] - MFC Edit control 에서 실수형 값 가져오는방법
2013/09/05 - [[ Topics ]/MFC] - error C2589 에 대한 고찰과 문제 해결방법
2013/07/30 - [[ Topics ]/MFC] - MFC Dialog창을 modaless할때 포커스 옮기는법
2012/09/04 - [[ Topics ]/MFC] - MFC 새다이얼로그를 생성시 OnDestroy() 경고 및 Memory Leaks
2012/09/03 - [[ Topics ]/MFC] - MFC 다이얼로그 기반 OnIdle()과 KickIdle() 그리고 modaless
2010/07/29 - [[ Topics ]/MFC] - MFC에서 글자 출력