티스토리 뷰
목차
[MFC강좌] 폴더 파일 경로 3. PathIsRoot 등 10개 함수
BOOL PathIsRoot( LPCTSTR pPath );
경로가 루트 폴더(드라이브 바로 밑)인지 검사한다.
PathIsRoot("c:\") = TRUE
PathIsRoot("c:\windows") = FALSE
BOOL PathIsSameRoot( LPCTSTR pszPath1, LPCTSTR pszPath2 );
pszPath1과 pszPath2가 같은 드라이브(루트 폴더)에 있는지 검사한다.
PathIsSameRoot( "c:\test1\temp1.txt", "c:\test2\temp2.txt" ) = TRUE
BOOL PathIsSystemFolder( LPCTSTR pszPath, DWORD dwAttrb );
제시된 경로가 시스템 폴더인지 검사한다.
BOOL PathIsUNC( LPCTSTR pszPath );
UNC(공유) 경로인지 확인한다.
PathIsUNC("\\server\folder\") = TRUE
PathIsUNC("server\folder") = FALSE
PathIsUNCServer( LPCTSTR pszPath );
PathIsUNC와 다른 점은 pszPath가 서버 이름만으로 구성되어야 한다는 점이다.
주의할 점은, pszPath가 "\\"만으로 된 경우도 TRUE라는 점이다.
PathIsUNCServer("\\server") = TRUE
PathIsUNCServer("\\server\folder") = FALSE
[MFC 강좌] 폴더 파일 경로
BOOL PathIsUNCServerShare( LPCTSTR pszPath );
PathIsUNC와 다른 점은 pszPath가 서버 이름 + 공유경로만으로 구성되어야 한다는 점이다.
(PathIsUNC는 파일명까지 넘어가도 TRUE)
주의 : 대부분의 PathXXX 함수가 그렇듯, pszPath가 실존하는가는 관계없다!!!
BOOL PathIsURL( LPCTSTR pszPath );
유효한 URL인지 확인한다.
BOOL PathMakePretty( LPTSTR lpPath );
경로를 소문자로 변환해준다. 이미 소문자로 이뤄져서 변환이 이뤄지지 않은 경우 FALSE가 반환된다.
주의할 점은, lpPath가 모두 대문자로 이뤄져 있어야 변환된다는 점이다.
PathMakePretty( "C:\TEST\TEMP.TXT" ) = "c:\test\temp.txt"
PathMakePretty( "c:\Test\Temp.txt") = 변화 없음
BOOL PathMakeSystemFolder( LPTSTR pszPath );
지정된 폴더를 시스템 폴더로 만든다.
[MFC 강좌] 폴더 파일 경로
BOOL PathMatchSpec( LPCSTR pszFile, LPCSTR pszSpec );
지정된 문자(열)이 경로에 포함되어 있는지 검사한다.
DOS명령어 "dir *.bmp" 개념으로 생각하면 된다.
PathMatchSpec( "c:\test\temp.txt", "*.txt") = TRUE
BOOL PathMatchSpecEx( LPCTSTR pszFile, LPCTSTR pszSpec, DWORD dwFlags );
PathMatchSpec과 유사하다.
차이점은, dwFlags에 PMSF_MULTIPLE를 사용하면 여러 개의 검색 패턴 지정이 가능하다는 점.
주의 : shlwapi.dll version 7.0.(Vista) 이상에서 사용할 수 있다.
1 2 3 | PathMatchSpecEx ( "c:\test\temp.txt temp2.bmp", "*.txt temp.*", PMSF_MULTIPLE ) = TRUE | cs |
[MFC강좌] 폴더 파일 경로 3. PathIsRoot 등 10개 함수