#include <io.h>
#include <sys/stat.h>
//检查目录,如果不存在,创建目录
BOOL auto_CreatePath( const char* pszFile )
{
char szCurDir[_MAX_PATH];
if( pszFile==NULL || GetCurrentDirectory( _MAX_PATH, szCurDir )==0 )
return FALSE ;
char path_buffer[_MAX_PATH];
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
_splitpath( pszFile, drive, dir, fname, ext );
sprintf( path_buffer, "%s%s", drive, dir ) ;
BOOL ret = TRUE ;
if( SetCurrentDirectory( path_buffer )==FALSE )
{
char seps[] = "\\";
char* token = strtok( path_buffer+strlen(drive)+1, seps );
if( token!=NULL )
token = path_buffer ;
while( token!=NULL )
{
BOOL ret = CreateDirectory( token, NULL ) ;
if( ret==FALSE )
{
DWORD dwError = GetLastError() ;
if( dwError==0xb7 ) // dir exist!
ret = TRUE ;
else
break ;
}
SetCurrentDirectory( token ) ;
token = strtok( NULL, seps );
}
}//end if( directory not exist! )
SetCurrentDirectory( szCurDir ) ;
return ret ;
}