system
, _wsystem
Ejecuta un comando.
Importante
Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.
Sintaxis
int system(
const char *command
);
int _wsystem(
const wchar_t *command
);
Parámetros
command
Comando que se va a ejecutar.
Valor devuelto
Si command
es NULL
y se encuentra el intérprete de comandos, devuelve un valor distinto de cero. Si no se encuentra el intérprete de comandos, devuelve 0 y establece en errno
ENOENT
. Si command
no NULL
es , system
devuelve el valor devuelto por el intérprete de comandos. Devuelve el valor 0 únicamente si el intérprete de comandos devuelve el valor 0. Un valor devuelto de - 1 indica un error y se establece errno
en uno de los siguientes valores:
Valor | Descripción |
---|---|
E2BIG |
La lista de argumentos (que depende del sistema) es demasiado grande. |
ENOENT |
No se encuentra el intérprete de comandos. |
ENOEXEC |
No se puede ejecutar el archivo de intérprete de comandos porque el formato no es válido. |
ENOMEM |
No hay suficiente memoria disponible para ejecutar el comando; o la memoria disponible está dañada; o existe un bloque no válido, que indica que el proceso de llamada se ha asignado incorrectamente. |
Para obtener más información sobre los códigos de retorno, vea errno
, _doserrno
, _sys_errlist
y _sys_nerr
.
Comentarios
La función system
pasa command
al intérprete de comandos, que ejecuta la cadena como un comando del sistema operativo. system
usa las variables de entorno COMSPEC
y PATH
para buscar el archivo de intérprete de comandos CMD.exe. Si command
es NULL
, la función comprueba si el intérprete de comandos existe.
Debe vaciar explícitamente (mediante fflush
o _flushall
) o cerrar todos los flujos antes de llamar a system
.
_wsystem
es una versión con caracteres anchos de system
; el argumento command
para _wsystem
es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina TCHAR.H |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tsystem |
system |
system |
_wsystem |
Requisitos
Routine | Encabezado necesario |
---|---|
system |
<process.h> o <stdlib.h> |
_wsystem |
<process.h> o <stdlib.h> o <wchar.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
Este ejemplo usa system
para escribir un archivo de texto.
// crt_system.c
#include <process.h>
int main( void )
{
system( "type crt_system.txt" );
}
Entrada: crt_system.txt
Line one.
Line two.
Output
Line one.
Line two.
Consulte también
Control de procesos y entornos
Funciones _exec
, _wexec
exit
, , _Exit
, _exit
_flushall
Funciones _spawn
, _wspawn