#include <stdlib.h>
#include <stdio.h>
#include <dir.h>
int main(void)
{
char *s;
char drive[MAXDRIVE];
char dir[MAXDIR];
char file[MAXFILE];
char ext[MAXEXT];
int flags;
s=getenv("COMSPEC"); /* get the comspec environment parameter */
flags=fnsplit(s,drive,dir,file,ext);
printf("Command processor info:/n");
if(flags & DRIVE)
printf("/tdrive: %s/n",drive);
if(flags & DIRECTORY)
printf("/tdirectory: %s/n",dir);
if(flags & FILENAME)
printf("/tfile: %s/n",file);
if(flags & EXTENSION)
printf("/textension: %s/n",ext);
return 0;
}
env变量获取
http://man.chinaunix.net/develop/c&c++/linux_c/function/15.html
TC: void fnsplit( const char *path, char *drive, char *dir,
char *name, char *ext)
- prototype in dir.h
- splits a file name from path into drive, dir, name, and ext
- dir can include subdirectories
- maximum sizes for these strings are:
MAXPATH 80 path
MAXDRIVE 3 drive - includes colon (:)
MAXDIR 66 dir - includes leading/traing backslashes
MAXFILE 9 name
MAXEXT 5 ext, including leading dot (.)
TC: void fnmerge( char *path, const char *drive,
const char *dir, const char *name, const char *ext)
- prototype in dir.h
- makes a file name (path) from drive, dir, name, and ext
- dir can include subdirectories
- maximum sizes for these strings are:
MAXPATH 80 path
MAXDRIVE 3 drive - includes colon (:)
MAXDIR 66 dir - includes leading/trailing backslashes
MAXFILE 9 name
MAXEXT 5 ext, including leading dot (.)