Función del sistema en lenguaje C

Función del sistema en lenguaje C

La consola de comando de Linux es, sin duda, algo como la sala de estar de todos los que somos fanáticos de este sistema operativo. Los innumerables comandos que ofrece Linux son parte de nuestro entorno de trabajo diario y muchos de ellos conocemos y usamos de corazón. La posibilidad de ejecutar estos comandos en Linux desde nuestro código C e interactuar directamente con el sistema operativo desde allí abre una serie de recursos muy útiles para el programador.

En esto Pista de Linux Artículo, explicaremos todo lo que necesita saber para ejecutar los comandos del código C usando el sistema() función. Explicaremos el marco teórico de esta función, sus argumentos de entrada y salida, y el tipo de datos que acepta en cada caso. Luego aplicaremos lo que aprendimos en un ejemplo práctico que incluye los fragmentos de código donde ejecutamos los diversos comandos de Linux de nuestro código C.

Sintaxis de la función System () en lenguaje C

system int (const char *str);

Descripción de la función del sistema () en el lenguaje C

El sistema() la función ejecuta un comando en el shell del sistema Linux u otro sistema operativo.

Si el comando se ejecuta correctamente, sistema() Devuelve "0".

Esta función tiene un puntero a la cadena STR como su único argumento de entrada, que contiene el comando que se ejecutará en el sistema literalmente y sin errores de sintaxis.

El sistema() La función ejecuta los comandos en el sistema Linux, pero no recupera ninguna información ni devuelve ningún resultado del comando ejecutado.

Sistema() es parte de la biblioteca estándar "stdlib". Para usarlo, debemos incluirlo en nuestro archivo de código de la siguiente manera:

#incluir

Una vez que el "stdlib.Se incluye la biblioteca H ", podemos usar la función System ().

A continuación, veremos algunos ejemplos de uso de la función System () para ejecutar los diversos comandos en el intérprete de Linux.

Ejemplo 1: Cómo ejecutar un comando en el intérprete de Linux usando la función System () en C

En este ejemplo, abrimos un archivo con la función Fopen () y usamos la función System () para enviar un pitido al sistema en caso de un error de apertura.

La función fopen () devuelve 0 si se produce un error al abrir el archivo. Ponemos este valor como condición en una condición if y ejecutamos el comando "pitido" en el intérprete con sistema( ) Para informar al usuario sobre su error.

Vemos el código para este propósito en la siguiente ilustración. En la ruta que especifica el archivo, colocamos el nombre de un archivo inexistente para generar un error:


#incluir
#incluir
vacío principal()

Archivo *f_ptr;
buffer de char [250];
f_ptr = fopen ("documentos/ no existir", "r");
if (f_ptr == 0)

Sistema ("Beep")
printf ("No hay dicho archivo \ n");

Ejemplo 2: Cómo reconocer si el comando ejecutado con la función System () se interpreta correctamente

En este ejemplo, explicamos cómo determinar si el comando se ejecuta correctamente en la consola de Linux. Un error en la ejecución del comando en sí no se refiere a un error en la ejecución de la función System (). Por lo tanto, el sistema no registra esta excepción en la variable del código de error, "errno".

Como se menciona en la descripción, la función System () ejecuta los comandos en el sistema, pero no devuelve los resultados.

El argumento de salida de esta función es un entero que devuelve "0" si el comando se ejecuta correctamente en el sistema. De lo contrario, devuelve otro valor.

A continuación, vemos un fragmento de código donde usamos la devolución de la sistema() función para determinar si el comando se ejecuta correctamente.

En este código, enviamos el comando "Beep". Pero para la práctica de este ejemplo, podemos enviar los diversos comandos correctos e incorrectos al argumento de entrada del sistema() función para ver los diferentes resultados.

Usamos el regreso del sistema() funcionar como condición en una condición if-else. Si el comando se ejecuta correctamente, se muestra un mensaje en la pantalla con el siguiente texto:

"El comando se ejecutó con éxito."

De lo contrario, se muestra el siguiente mensaje:

"El comando no fue reconocido o no se pudo ejecutar."


#incluir
#incluir
vacío principal()

int a;
sistema ("pitido");
if (a == 0)
printf ("El comando se ejecutó con éxito \ n");
demás
printf ("El comando no fue reconocido o no pudo ejecutarse \ n");

Conclusión

En esto Pista de Linux Artículo, explicamos cómo usar el sistema() función para ejecutar los comandos en el shell de Linux. También observamos el argumento de entrada y los datos que acepta, así como el argumento de salida y el valor de retorno cuando el comando se ejecuta correctamente.

Además, hemos dado algunos ejemplos prácticos con fragmentos e imágenes de código que muestran cómo usar esta función llamando y ejecutando los diversos comandos del intérprete de Linux a través de sistema(). Esperamos que este artículo sea útil para ti. Para obtener más artículos como este, use nuestro motor de búsqueda en el sitio web.