Namespaces
Variants

system

From cppreference.net
Definido en el encabezado <stdlib.h>
int system ( const char * command ) ;

Llama al procesador de comandos del entorno host con el parámetro command . Retorna un valor definido por la implementación (normalmente el valor que retorna el programa invocado).

Si command es un puntero nulo, verifica si el entorno del host tiene un procesador de comandos y devuelve un valor distinto de cero si y solo si el procesador de comandos existe.

Contenidos

Parámetros

command - cadena de caracteres que identifica el comando a ejecutar en el procesador de comandos. Si se proporciona un puntero nulo, se verifica la existencia del procesador de comandos

Valor de retorno

Valor definido por la implementación. Si command es un puntero nulo, retorna un valor distinto de cero si y solo si el procesador de comandos existe.

Notas

En sistemas POSIX, el valor de retorno puede ser descompuesto usando WEXITSTATUS y WSTOPSIG .

La función POSIX relacionada popen hace que la salida generada por command esté disponible para el llamador.

Ejemplo

En este ejemplo hay una llamada al sistema del comando unix date +%A y una llamada al sistema al compilador (posiblemente instalado) gcc con argumento de línea de comandos ( --version ):

#include <stdlib.h>
int main(void) {
    system("date +%A");
    system("gcc --version");
}

Salida posible:

Wednesday
gcc (GCC) 11.2.0
...

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.22.4.8 La función system (p: 257)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.22.4.8 La función system (p: 353-354)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.20.4.6 La función system (p: 317)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.10.4.5 La función system

Véase también