分析路徑參數函數_splitpath

以前也寫過分析程序運行路徑的博文http://blog.csdn.net/qiuyeting/article/details/7305077,但今天偶然發現有更好的函數可以幫助我們分析路徑參數。這個函數就是_splitpath

函數原型:

void _splitpath(
   const char *path,
   char *drive,
   char *dir,
   char *fname,
   char *ext 
);
void _wsplitpath(
   const wchar_t *path,
   wchar_t *drive,
   wchar_t *dir,
   wchar_t *fname,
   wchar_t *ext 
);
參數含義:

path

Full path buffer. _makepath does not check that path does not exceed _MAX_PATH.

drive

Drive letter.

dir

Directory path.

fname

File name.

ext

File name extension.

實例:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main( void )
{
   char path_buffer[_MAX_PATH];
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
   char ext[_MAX_EXT];

   //獲取當前運行程序的完整路徑,賦值給path_buffer
   strcpy(path_buffer,__argv[0]);
   _splitpath( path_buffer, drive, dir, fname, ext ); 
   // Note: _splitpath is deprecated; consider using _splitpath_s instead
   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 );

   return 0;
}

運行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章