- (1)void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );
- 将给定的路径字符串分割成各个部分
- 参数:
-
path:全路径(IN)
drive:盘符(OUT)
dir:除去盘符和文件名,中间的那段路径(OUT)
fname:文件名,不包含扩展名(OUT)
ext:文件扩展名,包含那个点.(OUT)
-
- (2)void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext );
- 这个函数功能同上面的一样,不过参数类型为unicode 类型的双宽度
For example:
- #include <stdlib.h>
- #include <stdio.h>
- void main( void )
- {
- char path_buffer[_MAX_PATH];
- char drive[_MAX_DRIVE];
- char dir[_MAX_DIR];
- char fname[_MAX_FNAME];
- char ext[_MAX_EXT];
- _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" );
- printf( "Path created with _makepath: %s\n\n", path_buffer );
- _splitpath( path_buffer, drive, dir, fname, ext );
- printf( "Path extracted with _splitpath:\n" );
- printf( " Drive: %s\n", drive );
- printf( " Dir: %s\n", dir );
- printf( " Filename: %s\n", fname );
- printf( " Ext: %s\n", ext );
- }
- Output
- Path created with _makepath: c:\sample\crt\makepath.c
- Path extracted with _splitpath:
- Drive: c:
- Dir: \sample\crt\
- Filename: makepath
- Ext: .c