_execv, _wexecv
Loads and executes new child processes.
intptr_t _execv(
const char *cmdname,
const char *const *argv
);
intptr_t _wexecv(
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parameters
cmdname
Path of the file to execute.argv
Array of pointers to parameters.
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 required for the arguments and environment settings exceeds 32 KB. |
EACCES |
The specified file has a locking or sharing violation. |
EINVAL |
Invalid parameter. |
EMFILE |
Too many files open (the specified file must be opened to determine whether it is executable). |
ENOENT |
The file or path 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, indicating that the calling process was not allocated properly. |
For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.
Remarks
Each of these functions loads and executes a new process, passing an array of pointers to command-line arguments.
In Visual C++ 2005, the _execv functions validate their parameters. If cmdname is a null pointer, or if argv is a null pointer, pointer to an empty array, or if the array contains an empty string as the first argument, the _execv 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 process is launched.
Requirements
Function |
Required header |
Optional header |
---|---|---|
_execv |
<process.h> |
<errno.h> |
_wexecv |
<process.h> or <wchar.h> |
<errno.h> |
For more compatibility information, see Compatibility in the Introduction.
Example
See the example in _exec, _wexec Functions.