_splitpath / 경로명에서 원하는 정보 분리하기
C & C++ 관련 :
2009. 8. 10. 16:44
반응형
출처 : http://www.tipssoft.com/bulletin/tb.php/FAQ/78
2. 함수의 기능
지정한 경로명에서 드라이브, 디렉토리명, 파일명, 파일확장자명을 분리해내는 함수이다.
예를 들어, c:\twdn\download\sample.zip 라는 경로가 있다면 _splitpath 함수를 이용하여
c: , \twdn\download , sample , .zip 와 같이 4개의 형태로 분리할수 있다.
3. 함수의 매개변수에 대한 설명
3.1 path
원하는 경로명을 명시한다. 이 경로에서 드라이브, 디렉토리명, 파일명, 파일확장자명을
분리할 것이다. 명시하는 방법은 아래와 같다.
4. 함수의 반환값
없음.
5. 함수의 요구사항
이 함수를 사용하기 위해서는 아래와 같이 stdlib.h 헤더파일을 포함해야 한다.
#include "stdlib.h"
6. 사용 예제
#include "stdlib.h"
#include "stdio.h"
printf( "드라이브 : %s\n", drive);
printf( "디렉토리명 : %s\n", directory);
printf( "파일명 : %s\n", file_name);
printf( "파일 확장자 : %s\n", file_ext);
}
1. 함수의 원형
void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );
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 값이 복사될 것이다.
_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 값이 복사될 것이다.
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];
{
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
디렉토리명 : \twdn\download\
파일명 : sample
파일 확장자 : .zip
반응형
'C & C++ 관련' 카테고리의 다른 글
fgets() 함수 (2) | 2009.08.20 |
---|---|
gprintf debug routine syslog (0) | 2009.08.03 |
스마트 포인터 (0) | 2009.07.26 |