system
, _wsystem
Executes a command.
Important
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.
Syntax
int system(
const char *command
);
int _wsystem(
const wchar_t *command
);
Parameters
command
The command to be executed.
Return value
If command
is NULL
and the command interpreter is found, returns a nonzero value. If the command interpreter isn't found, returns 0 and sets errno
to ENOENT
. If command
isn't NULL
, system
returns the value that is returned by the command interpreter. It returns the value 0 only if the command interpreter returns the value 0. A return value of -1 indicates an error, and errno
is set to one of the following values:
Value | Description |
---|---|
E2BIG |
The argument list (which is system-dependent) is too large. |
ENOENT |
The command interpreter can't be found. |
ENOEXEC |
The command-interpreter file can't be executed because the format isn't valid. |
ENOMEM |
Not enough memory is available to execute command; or available memory has been corrupted; or a non-valid block exists, which indicates that the calling process has been allocated incorrectly. |
For more information about return codes, see errno
, _doserrno
, _sys_errlist
, and _sys_nerr
.
Remarks
The system
function passes command
to the command interpreter, which executes the string as an operating-system command. system
uses the COMSPEC
and PATH
environment variables to locate the command-interpreter file CMD.exe. If command
is NULL
, the function just checks whether the command interpreter exists.
You must explicitly flush, by using fflush
or _flushall
, or close any stream before you call system
.
_wsystem
is a wide-character version of system
; the command
argument to _wsystem
is a wide-character string. These functions behave identically otherwise.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Generic-text routine mappings
TCHAR.H routine |
_UNICODE and _MBCS not defined |
_MBCS defined |
_UNICODE defined |
---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Requirements
Routine | Required header |
---|---|
system |
<process.h> or <stdlib.h> |
_wsystem |
<process.h> or <stdlib.h> or <wchar.h> |
For more compatibility information, see Compatibility.
Example
This example uses system
to TYPE a text file.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Input: crt_system.txt
Line one.
Line two.
Output
Line one.
Line two.
See also
Process and environment control
_exec
, _wexec
functions
exit
, _Exit
, _exit
_flushall
_spawn
, _wspawn
functions