额,这段时间在做一个图片工具的项目,中间用到了这两个函数,现在整理一下资料做个备份(^_^)。其实,在进行实际编程的过程中,我们常常需要对程序的路径进行一系列的操作,比如我们想实现一些文件遍历、查找、访问、读写等操作时,我们有时可能需要对路径进行分解、合并等,这时就会使用到_splitpath和_makepath这俩兄弟函数啦。【买一送一,与之相关的函数还有:FindFile、FindFirstFile、FindNextFile等等吧】
一、这里是_splipath():
(1)、声明定义:
void _splitpath( const char *path, char*drive, char *dir, char *fname, char *ext );
(2).参数说明:
path, Full path(完整路径)
drive , Optional drive letter, followed by a colon (:)(磁盘驱动包含:)
dir, Optional directory path, including trailing slash. Forward slashes(/ ), backslashes (\ ), or both may be used.(文件路径,无论是以“/”,“\”)
fname, Base filename (no extension)(文件名)
ext , Optional filename extension, including leading period (.)(后缀名)
二、这里是_makepath() :
(1)、声明定义:
void _splitpath( const char *path, char*drive, char *dir, char *fname, char *ext );
(2)、参数说明:
为环保,此处不再累述,参照上个函数。。。。。。。
三、No Pic!!上源码。。。
#include <stdlib.h>
#include <stdio.h>
voidmain( 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 extractedwith _splitpath:\n" );
printf( " Drive:%s\n",drive );
printf( " Dir:%s\n",dir );
printf( " Filename:%s\n", fname );
printf( " Ext:%s\n",ext );
}
输出结果:
Path created with_makepath:c:\sample\crt\makepath.c
Path extracted with_splitpath:
Drive: c:
Dir: \sample\crt\
Filename: makepath
Ext: .c