取得程序运行的目录[转]
//取得程序运行的目录 m_strWorkDIR
TCHAR exeFullPath[_MAX_PATH];
char szDrive[_MAX_DRIVE]={0}, szDir[_MAX_DIR]={0}, szFNAME[_MAX_FNAME]={0}, szExt[_MAX_EXT]={0};
GetModuleFileName(AfxGetInstanceHandle(), exeFullPath, sizeof(exeFullPath));
_splitpath (exeFullPath, szDrive, szDir, NULL, NULL);
m_strWorkDIR.Format("%s%s", szDrive, szDir);
另附MSDN中的一段例码
Example
/* MAKEPATH.C */
#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