C++中对路径字符串解析的两个重要函数

来源:互联网 发布:淘宝衣服评价语 编辑:程序博客网 时间:2024/04/30 13:19
  1. (1)void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext ); 
  2.  将给定的路径字符串分割成各个部分
  3. 参数:
  4. path:全路径(IN)

    drive:盘符(OUT)

    dir:除去盘符和文件名,中间的那段路径(OUT)

    fname:文件名,不包含扩展名(OUT)

    ext:文件扩展名,包含那个点.(OUT)


  5. (2)void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext ); 
  6. 这个函数功能同上面的一样,不过参数类型为unicode 类型的双宽度

       For example:
        
  1. #include <stdlib.h>  
  2. #include <stdio.h>  
  3.   
  4. void main( void )  
  5. {  
  6.    char path_buffer[_MAX_PATH];  
  7.    char drive[_MAX_DRIVE];  
  8.    char dir[_MAX_DIR];  
  9.    char fname[_MAX_FNAME];  
  10.    char ext[_MAX_EXT];  
  11.   
  12.    _makepath( path_buffer, "c""\\sample\\crt\\", "makepath", "c" );  
  13.    printf( "Path created with _makepath: %s\n\n", path_buffer );  
  14.    _splitpath( path_buffer, drive, dir, fname, ext );  
  15.    printf( "Path extracted with _splitpath:\n" );  
  16.    printf( "  Drive: %s\n", drive );  
  17.    printf( "  Dir: %s\n", dir );  
  18.    printf( "  Filename: %s\n", fname );  
  19.    printf( "  Ext: %s\n", ext );  
  20. }  
  21.   
  22.   
  23. Output  
  24.   
  25. Path created with _makepath: c:\sample\crt\makepath.c  
  26.   
  27. Path extracted with _splitpath:  
  28.   Drive: c:  
  29.   Dir: \sample\crt\  
  30.   Filename: makepath  
  31.   Ext: .c  
0 0
原创粉丝点击