본문 바로가기
C++ 200제/코딩 IT 정보

[MFC강좌] 폴더 파일 경로 3. PathIsRoot 등 10개 함수

by vicddory 2017. 11. 15.

[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 폴더 파일 경로[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강좌] 폴더 파일 경로 3. PathIsRoot 등 10개 함수[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개 함수

댓글