반응형
출처 : http://www.tipssoft.com/bulletin/tb.php/FAQ/78

1. 함수의 원형
 
    void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );
 

2. 함수의 기능
 
    지정한 경로명에서 드라이브, 디렉토리명, 파일명, 파일확장자명을 분리해내는 함수이다.
    예를 들어,  c:\twdn\download\sample.zip 라는 경로가 있다면 _splitpath 함수를 이용하여
     c: ,  \twdn\download ,  sample ,  .zip 와 같이 4개의 형태로 분리할수 있다.
 
 
3. 함수의 매개변수에 대한 설명
 
    3.1 path
 
        원하는 경로명을 명시한다. 이 경로에서 드라이브, 디렉토리명, 파일명, 파일확장자명을
        분리할 것이다. 명시하는 방법은 아래와 같다.
 
        char *p_path = "c:\\twdn\\download\\sample.zip";
        _splitpath(p_path, ... 생략 ...);
 
    3.2 drive
 
        path에 명시된 경로에서 드라이브 명칭을 분리하여 복사할 버퍼를 명시한다.
        경로가 c:\twdn\download\sample.zip 이였다면 이 변수에는 c: 값이 복사될 것이다.
 
    3.3 dir
 
        path에 명시된 경로에서 디렉토리 명칭을 분리하여 복사할 버퍼를 명시한다.
        경로가 c:\twdn\download\sample.zip 이였다면 이 변수에는 \twdn\download 값이 복사될 것이다.
 
    3.4 fname
 
        path에 명시된 경로에서 파일 명칭을 분리하여 복사할 버퍼를 명시한다.
        경로가 c:\twdn\download\sample.zip 이였다면 이 변수에는 sample 값이 복사될 것이다.
 
    3.5 ext
 
        path에 명시된 경로에서 파일 확장자명을 분리하여 복사할 버퍼를 명시한다.
        경로가 c:\twdn\download\sample.zip 이였다면 이 변수에는 .zip 값이 복사될 것이다.
 

4. 함수의 반환값
   
    없음.
 
       
5. 함수의 요구사항
 
    이 함수를 사용하기 위해서는 아래와 같이 stdlib.h 헤더파일을 포함해야 한다.
 
    #include "stdlib.h"
 
 
6. 사용 예제
 
    #include "stdlib.h"
    #include "stdio.h"
 
    void main()
    {
        char *p_path = "c:\\twdn\\download\\sample.zip";
        char drive[_MAX_DRIVE], directory[_MAX_DIR];
        char file_name[_MAX_FNAME], file_ext[_MAX_EXT];
 
        _splitpath( p_path, drive, directory, file_name, file_ext);

        printf( "드라이브    : %s\n", drive);
        printf( "디렉토리명  : %s\n", directory);
        printf( "파일명      : %s\n", file_name);
        printf( "파일 확장자 : %s\n", file_ext);
    }
 
 
    실행 결과:
 
        드라이브    : c:
        디렉토리명  : \twdn\download\
        파일명      : sample
        파일 확장자 : .zip
반응형

'C & C++ 관련' 카테고리의 다른 글

fgets() 함수  (2) 2009.08.20
gprintf debug routine syslog  (0) 2009.08.03
스마트 포인터  (0) 2009.07.26
Posted by Real_G