shwapi.c
上传用户:hxb_1234
上传日期:2010-03-30
资源大小:8328k
文件大小:1k
源码类别:

VC书籍

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "globals.h"
  3. void    path_add_backslash(char *path)
  4. {
  5.     if (path[strlen(path) - 1] != '\')
  6.         strcat(path, "\");
  7. }
  8. BOOL    path_is_relative(const char *path)
  9. {
  10.     char    drive[_MAX_DRIVE];
  11.     char    dir[_MAX_DIR];
  12.     char    fname[_MAX_FNAME];
  13.     char    ext[_MAX_EXT];
  14.     _splitpath(path, drive, dir, fname, ext);
  15.     if (!*drive) {
  16.         char    buffer[MAX_PATH];
  17.         char   *position;
  18.         strcpy(buffer, dir);
  19.         if (buffer[0] == '\' && buffer[1] == '\') {
  20.             position =
  21.                 strchr(strchr
  22.                        (strchr(strchr(buffer, '\') + 1, '\') +
  23.                         1, '\') + 1, '\') + 1;
  24.             *position = '';
  25.             if (GetDriveType(buffer) == DRIVE_REMOTE)
  26.                 return FALSE;
  27.             return TRUE;
  28.         } else
  29.             return TRUE;
  30.     }
  31.     return FALSE;
  32. }
  33. BOOL    path_remove_filespec(LPTSTR path)
  34. {
  35.     char    drive[_MAX_DRIVE];
  36.     char    dir[_MAX_DIR];
  37.     char    fname[_MAX_FNAME];
  38.     char    ext[_MAX_EXT];
  39.     _splitpath(path, drive, dir, fname, ext);
  40.     _makepath(path, drive, dir, NULL, NULL);
  41.     return TRUE;
  42. }
  43. void    path_unquote(LPTSTR path)
  44. {
  45.     char    pathbuffer[MAX_PATH];
  46.     int     lengte;
  47.     if (path[0] == '"') {
  48.         strcpy(pathbuffer, path + 1);
  49.         lengte = strlen(pathbuffer);
  50.         pathbuffer[lengte - 1] = '';
  51.         strcpy(path, pathbuffer);
  52.     }
  53. }