_execle, _wexecle

Loads and executes new child processes.


This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported in Universal Windows Platform apps.


intptr_t _execle(
   const char *cmdname,
   const char *arg0,
   ... const char *argn,
   const char *const *envp
intptr_t _wexecle(
   const wchar_t *cmdname,
   const wchar_t *arg0,
   ... const wchar_t *argn,
   const char *const *envp


Path of the file to execute.

arg0, ... argn
List of pointers to parameters.

Array of pointers to environment settings.

Return Value

If successful, these functions do not return to the calling process. A return value of -1 indicates an error, in which case the errno global variable is set.

errno value Description
E2BIG The space that's required for the arguments and the environment settings exceeds 32 KB.
EACCES The specified file has a locking or sharing violation.
EINVAL Invalid parameter.
EMFILE Too many files are open. (The specified file must be opened to determine whether it is executable.)
ENOENT The file or path is not found.
ENOEXEC The specified file is not executable or has an invalid executable-file format.
ENOMEM Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, which indicates that the calling process was not allocated correctly.

For more information about these return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.


Each of these functions loads and executes a new process, and passes each command-line argument as a separate parameter and passes an array of pointers to environment settings.

The _execle functions validate their parameters. If cmdname or arg0 is a null pointer or an empty string, these functions invoke the invalid parameter handler, as described in Parameter Validation. If execution is allowed to continue, these functions set errno to EINVAL and return -1. No new process is launched.


Function Required header Optional header
_execle <process.h> <errno.h>
_wexecle <process.h> or <wchar.h> <errno.h>

For more information, see Compatibility.


See the example in _exec, _wexec Functions.

See also

Process and Environment Control
_exec, _wexec Functions
exit, _Exit, _exit
_onexit, _onexit_m
_spawn, _wspawn Functions
system, _wsystem