IanMK2 Blog

함 수 명
 인  자
 결  과
 
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

 

Posted by IanMK2