execvpe()                Execute Program Using Arg Array, PATH, Environment
 
 #include   <process.h>
 
 int        execvpe(pathname,argv,envp);
 char       *pathname;                   Path name of file to be executed
 char       *argv[];                     Array of pointers to arguments
 char       *envp[];                     Array of pointers to environment
                                         settings
 
    execvpe() operates identically to execve(), with one exception: If
    'pathname' is not found as described in execve(), then execvpe() will
    use the DOS PATH to continue the search for pathname.  With that
    single exception, the two functions are identical; see execve() for a
    complete description.
 
  -------------------------------- Example ---------------------------------
 
    The following statements transfer execution to the child process
    "child.exe" and pass it the three arguments "child", "arg1", and
    "arg2".  "child.exe" CAB be in the current directory or any directory
    in the DOS PATH.  If "child.exe" is found, the PATH environment
    variable is set to "C:\\TEST" for the child process:
 
            #include <process.h>    /* for 'execvpe' */
            #include <stdio.h>      /* for 'printf' and 'NULL' */
            #include <stdlib.h>     /* for 'errno' */
            #include <errno.h>      /* for 'ENOENT' and 'ENOMEM' */
 
            char *args[] = {"child", "arg1", "arg2", NULL};
            char *env[] = {"PATH=C:\\TEST", NULL};
 
            main()
            {
                execvpe("child.exe", args, env);
                /* only get here on an exec error */
                if (errno == ENOENT) {
                    printf("child.exe not found in current directory,\n");
                    printf("  or in any PATH directory\n");
                } else if (errno == ENOMEM)
                    printf("not enough memory to execute child.exe\n");
                else
                    printf("error #%d trying to exec child.exe\n", errno);
            }

Seealso:



This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster