Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Turbo C - <b>execlpe() execute program using arg list, path, environment</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
execlpe()                Execute Program Using Arg List, Path, Environment

 #include   <process.h>

 int        execle(pathname, arg0,arg1...,argn,NULL,envp);
 int        execlpe(pathname,            arg0,arg1...,argn,NULL,envp);
 char       *pathname;                   Path name of file to be executed
 char       *arg0,*arg1...,argn;         List of pointers to arguments
 char       *envp;                       Array of pointers to environment
                                         settings

    execlpe() operates identically to execle(), with one exception: If
    'pathname' is not found as described in execl(), then execlpe() will
    use the DOS PATH to continue the search for pathname.  With that
    single exception, the two functions are identical; see execle() 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" will be found in the current directory or any
    PATH directory.  If "child.exe" is found, the PATH environment
    variable is set to "C:\\TEST" for the child process:

            #include <process.h>    /* for 'execlpe' */
            #include <stdio.h>      /* for 'printf' and 'NULL' */
            #include <stdlib.h>     /* for 'errno' */
            #include <errno.h>      /* for 'ENOENT' and 'ENOMEM' */

            char *env[] = {"PATH=C:\\TEST", NULL};

            main()
            {
                execlpe("child.exe", "child", "arg1", "arg2", NULL, 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);
            }

See Also: execle() exec...()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson