C Descripción de función del sistema




La función system ()

La función system () es un comando de la biblioteca estándar de C que tiene una matriz de caracteres constantes. En esencia, el argumento es una cadena de tipo C, que a su vez representa un comando para ser enviado al sistema operativo. Así que un programador podría utilizar la llamada a la función de realizar un listado de directorio en Windows / DOS, como el siguiente ejemplo:

# Include



int main () {

int i = Sistema ( dir); / / " la " recibe el resultado del retorno del comando.

Mostrar resultados

El sistema () devuelve un valor entero que representa el estado de la llamada al sistema. ¿Qué es este estado depende de la naturaleza de la discusión pasó a system (). Si el sistema () recibe un puntero a un carácter nada (NULL), entonces el sistema () devolverá un número entero distinto de cero para indicar que un procesador de comandos está disponible. Si no hay ningún procesador está disponible, la función retorna 0. Si el sistema de () la función recibe una cadena real, entonces el sistema (), que envía el comando al sistema, y devuelve un valor de estado de terminación del programa.

System () Portabilidad

El resultado del sistema () depende principalmente del sistema operativo en el que el programador desarrolla en. Como resultado, la forma en que el programador invoca el sistema varía. Un programa que envía el comando " descanso " a un sistema Windows no recibe los mismos resultados cuando se ejecuta en un sistema Linux. Sistemas Linux en general no tienen un built-in " comando de pausa ". Por lo tanto, un programa en C escrito para llevar a cabo un sistema de " ( PAUSA) comando " en realidad no interrumpir la ejecución de código.

Variantes

Para ejecutar un programa en código C, un programador puede elegir en lugar de utilizar el execl (). Mientras que aún depende de la plataforma, el programador puede controlar la ejecución del programa de más de cerca. Además, hay menos sobrecarga del sistema cuando el programa no tiene que hacer llamadas al sistema, pero ejecuta los comandos en sí mismo. El siguiente ejemplo ilustra cómo el programador podría llamar a la execl function () para listar un directorio en un sistema Linux:

# Include

int main () {

execl (" / bin / ls , / bin / ls ,-a ", (char *) 0);

}



Deja un comentario