함 수 명
인 자
결 과
PathAddBackslash
c:\path1
c:\path1\
PathCompactPath
c:\path1\path2\path3\file.txt
c:\path1\...\file.txt
PathFileExists
c:\path1\file.txt
파일의존재유무[T/F]
PathFindFileName
c:\path1\path2\file.txt
file.txt
PathIsDirectory
c:\path1\path2
디렉토리유무[T/F]
PathRemoveBackslash
c:\path1\path2\
c:\path1\path2
PathRemoveBlanks
“ c:\path1\path2 “
“c:\path1\path2”
PathRemoveExtension
c:\path1\path2\file.txt
c:\path1\path2\file
PathRemoveFileSpec
c:\path1\path2\file.txt
c:\path1\path2
PathRenameExtension
c:\path1\path2\file.txt
c:\path1\path2\file.changed
PathStripPath
c:\path1\path2\file.txt
file.txt
BOOL PathCompactPath( HDC hDC, LPTSTR lpszPath, UINT dx );
lpszPath에 포함된 경로 문자열을 dx pixel 크기에 출력하기 적절하게 잘라준다.
C:\path1\path2\sample.txt
C:\path1\...\sample.txt
C:\p...\sample.txt
BOOL PathFileExists( LPCTSTR pszPath );
제시된 경로의 파일/폴더가 실제로 존재하는지 검사한다.
LPTSTR PathFindExtension( LPCTSTR pPath );
파일 경로에서 확장자를 찾아준다. (pPath에서 확장자가 시작되는 위치를 반환).
LPTSTR PathFindFileName( LPCTSTR pPath );
파일 경로에서 파일 이름을 찾아준다. (pPath에서 이름이 시작되는 위치를 반환).
BOOL PathFindOnPath( LPTSTR pszFile, LPCTSTR *ppszOtherDirs );
파일을 검색한다. 만약 검색에 성공하면 pszFile에는 해당 파일의 전체 경로가 담겨져서 반환된다.
ppszOtherDirs가 NULL이라면 windows 기본 경로(system32, 환경 변수 path의 값 등)에서 파일을 검색한다.
주의: 여러개의 파일이 존재 하더라도, 첫번째로 검색된 파일의 경로만 반환한다.
BOOL PathIsDirectory( LPCTSTR pszPath );
실제로 존재하는 폴더인지 확인한다.
BOOL PathRelativePathTo( LPTSTR pszPath, LPCTSTR pszFrom, DWORD dwAttrFrom, LPCTSTR pszTo, DWORD dwAttrTo );
pszFrom에서 pszTo로 가는 상대경로를 구해서 pszPath에 담아준다. 당연한 소리지만 pszFrom과 pszTo는 동일한 Prefix에서 시작해야 한다.
TCHAR buffer[MAX_PATH];
BOOL PathRelativePathTo( buffer, "c:/a/b/c/", FILE_ATTRIBUTE_DIRECTORY, "c:/a/1/2/test.txt", FILE_ATTRIBUTE_NORMAL);
buffer = "../../1/2/test.txt";
LPTSTR PathRemoveBackslash( LPTSTR lpszPath );
경로 맨 끝에 back slash(\)가 있다면 지워준다.
void PathRemoveExtension( LPTSTR pszPath );
확장자를 제거한다.
void PathUnquoteSpaces( LPTSTR lpsz );
경로를 둘러싼 큰 따옴표(")를 제거해 준다.
PathUnquoteSpaces("\"c:\temp\"") = c:\temp
int UrlCompare( LPCTSTR pszURL1, LPCTSTR pszURL2, BOOL fIgnoreSlash );
두 URL 문자열을 비교한다. (대소문자 구분 없음)
HRESULT UrlEscape( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags );
URL로 사용할 수 없는 문자들(^, {, " 등)을 URL encoding된 문자열로 변환해 준다.
HRESULT UrlEscapeSpaces( LPCTSTR pszURL, LPTSTR pszEscaped, LPDWORD pcchEscaped );
URL에 포함된 공백을 escapce처리
HRESULT UrlGetPart( LPCTSTR pszIn, LPTSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags );
dwPart값에 따라 URL에서 특정부분을 분리해 준다. (hostname, port...)
BOOL UrlIs( LPCTSTR pszUrl, URLIS UrlIs );
URL이 UrlIs에 제시된 조건(적합한 URL인가? 파일 경로인가? 등)에 맞는 구성인지 확인한
출처 : http://blog.naver.com/aquayo/80049129601